command.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:eos-data-distribution 作者: endlessm 项目源码 文件源码
def main():
    from gi.repository import GLib
    from . import base

    parser = argparse.ArgumentParser(description='Command Interest Tests')
    parser.add_argument("--faceid", "-i", type=int)
    parser.add_argument("--uri", "-u")
    parser.add_argument("--local-control-feature", "-l")
    parser.add_argument("--origin", "-o", type=int)
    parser.add_argument("--cost", "-c", type=int)
    parser.add_argument("--forwarding-flags", "-F", type=int)
    parser.add_argument("--strategy", "-s")
    parser.add_argument("--expiration-period", "-e", type=int)
    parser.add_argument("command")

    args = utils.parse_args(parser=parser)

    controlParameters = ControlParameters()

    name = None
    if args.name:
        name = Name(args.name)
    if args.faceid:
        controlParameters.setFaceId(args.faceid)
    if args.uri:
        controlParameters.setUri(args.uri)
    if args.local_control_feature:
        controlParameters.setLocalControlFeature(args.local_control_feature)
    if args.origin:
        controlParameters.setOrigin(args.origin)
    if args.cost:
        controlParameters.setCost(args.cost)
    if args.forwarding_flags:
        controlParameters.setForwardingFlags(args.forwarding_flags)
    if args.strategy:
        controlParameters.setStrategy(Name(args.strategy))
    if args.expiration_period:
        controlParameters.setExpirationPeriod(args.expiration_period)

    loop = GLib.MainLoop()

    def print_and_quit(*args, **kwargs):
        logger.info(*args, **kwargs)
        loop.quit()

    logger.info('running command: %s on %s', args.command, name)
    ndn = base.Base(name)
    ndn.expressCommandInterest(
        args.command, name, controlParameters=controlParameters,
                               interestLifeTime=10000,
                               onFailed=lambda *
                                   a: print_and_quit('FAILED: %s', a),
                               onSuccess=lambda *a: print_and_quit('SUCCESS: %s', a))
    loop.run()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号