Source code for rosdistro.cli.rosdistro

import optparse
import sys

import rosdistro


[docs] def depends(args): distro = rosdistro.RosDistro(args[1]) deps = distro.get_depends(args[2:], int(args[0])) for t, dep in deps.iteritems(): print('%s depends:' % t) print(', '.join(dep))
[docs] def depends_on(args): distro = rosdistro.RosDistro(args[1]) deps = distro.get_depends_on(args[2:], int(args[0])) for t, dep in deps.iteritems(): print('%s depends_on:' % t) print(', '.join(dep))
[docs] def help(cmd=None): print("Usage: %s [command]" % sys.argv[0]) print(" With [command] one of the following") if cmd and type(cmd) == list: cmd = cmd[0] if cmd and cmd not in cmds: print("Unknown command %s" % cmd) cmd = None if cmd and cmd == 'help': cmd = None for c, ops in cmds.iteritems(): res = " '%s'" % c res += (' ' * (30 - len(res))) res += "with arguments: '%s'" % (' '.join(ops['args'])) if not cmd or cmd == c: print(res)
cmds = {'help': {'args': ['command'], 'cmd': help}, 'depends': {'args': ['depth', 'ros_version', 'package_list'], 'cmd': depends}, 'depends_on': {'args': ['depth', 'ros_version', 'package_list'], 'cmd': depends_on}}
[docs] def main(): parser = optparse.OptionParser() parser.add_option("--cache", action="store", default=None) (options, commands) = parser.parse_args() # usage if len(commands) == 0: help() return # command specific usage cmd = commands[0] if cmd in cmds: args = cmds[cmd]['args'] if len(commands) - 1 < len(args): help(cmd) return else: help(cmd) return # execute command try: cmds[cmd]['cmd'](commands[1:]) except Exception as e: print(e) print("Failure") return distro = rosdistro.RosDistro(args(0), options.cache) for r in distro.get_repositories(): print("Caching %s" % r) distro.get_depends1(r) print("Cache written to %s" % (distro.depends_file.local_url))
if __name__ == "__main__": sys.exit(main())