def run(): warnings.filterwarnings("ignore", category=DeprecationWarning) try: if len(sys.argv) == 1 or (sys.argv[1] in args.available_commands(MOD)): args.parse_and_run_command(sys.argv[1:], MOD, default_command=DEFAULT_COMMAND) else: if ":" in sys.argv[1]: command, subcommand = sys.argv[1].split(":") else: command = sys.argv[1] subcommand = "" command_class = dexy.plugin.Command.aliases.get(command) mod_name = command_class.__module__ mod = args.load_module(mod_name) if hasattr(command_class, 'DEFAULT_COMMAND'): default_command = command_class.DEFAULT_COMMAND else: default_command = command_class.NAMESPACE # TODO improve error message if not a valid command... args.parse_and_run_command([subcommand] + sys.argv[2:], mod, default_command=default_command) except dexy.exceptions.UserFeedback as e: sys.stderr.write(e.message) if not e.message.endswith("\n"): sys.stderr.write("\n") sys.exit(1)
def run(): warnings.filterwarnings("ignore",category=DeprecationWarning) try: if len(sys.argv) == 1 or (sys.argv[1] in args.available_commands(MOD)): args.parse_and_run_command(sys.argv[1:], MOD, default_command=DEFAULT_COMMAND) else: if ":" in sys.argv[1]: command, subcommand = sys.argv[1].split(":") else: command = sys.argv[1] subcommand = "" command_class = dexy.plugin.Command.aliases.get(command) mod_name = command_class.__module__ mod = args.load_module(mod_name) if hasattr(command_class, 'DEFAULT_COMMAND'): default_command = command_class.DEFAULT_COMMAND else: default_command = command_class.NAMESPACE # TODO improve error message if not a valid command... args.parse_and_run_command([subcommand] + sys.argv[2:], mod, default_command=default_command) except dexy.exceptions.UserFeedback as e: sys.stderr.write(e.message) if not e.message.endswith("\n"): sys.stderr.write("\n") sys.exit(1)
def run(): warnings.filterwarnings("ignore",category=DeprecationWarning) try: args.parse_and_run_command(sys.argv[1:], MOD, default_command=Constants.DEFAULT_COMMAND) except UserFeedback as e: sys.stderr.write(e.message) if not e.message.endswith("\n"): sys.stderr.write("\n") sys.exit(1)
def run(): base = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) os.chdir(os.path.join(base, 'mail')) sys.path.insert(0, os.path.join(base, 'python-modargs')) sys.path.insert(0, os.path.join(base, 'lamson')) sys.path.insert(0, os.path.join(base, 'mail')) from modargs import args from lamson import commands args.parse_and_run_command(sys.argv[1:], commands, default_command="help")
def run(): """ Main entry point. Calls python modargs to run the requested command. """ try: args.parse_and_run_command(sys.argv[1:], mod, default_command=default_cmd) except UserFeedback as e: sys.stderr.write("A %s has occurred. Stopping.\n\nError message:\n" % e.__class__.__name__) sys.stderr.write(str(e) + "\n") sys.exit(1) except KeyboardInterrupt: sys.stderr.write("interrupted!\n") sys.exit(1)
def run(): # temp: Check if someone does the intuitive thing and help. if len(sys.argv) > 1: if ".prof" in sys.argv[1]: print_prof_help_and_exit() elif len(sys.argv) > 2: if sys.argv[1] == 'generate' and '.prof' in sys.argv[2]: print_prof_help_and_exit() try: args.parse_and_run_command(sys.argv[1:], mod, default_command=default_cmd) except SystemExit: print "For help run: pyprof2xls help"
def parse_and_run_cmd(argv, module, default_command): try: args.parse_and_run_command(argv, module, default_command) except dexy.exceptions.UserFeedback as e: sys.stderr.write("Oops, there's a problem running your command. Here is the error message:" + os.linesep) err_msg = str(e) if err_msg: sys.stderr.write("'%s'" % str(e)) else: sys.stderr.write("Sorry, can't get text of error message.") sys.stderr.write(os.linesep) sys.exit(1) except KeyboardInterrupt: sys.stderr.write("stopping...") sys.exit(1)
def run(): """ Method that runs the command specified on the command line. Ensures that UserFeedback exceptions are handled nicely so end users don't see tracebacks. """ logging.captureWarnings(True) if len(sys.argv) == 1 or (sys.argv[1] in args.available_commands(MOD)) or sys.argv[1].startswith("-"): args.parse_and_run_command(sys.argv[1:], MOD, default_command=DEFAULT_COMMAND) else: if ":" in sys.argv[1]: command, subcommand = sys.argv[1].split(":") else: command = sys.argv[1] subcommand = "" command_class = dexy.plugin.Command.aliases.get(command) if not command_class: args.parse_and_run_command(subcommand, dexy.commands) mod_name = command_class.__module__ mod = args.load_module(mod_name) if command_class.DEFAULT_COMMAND: default_command = command_class.DEFAULT_COMMAND else: default_command = command_class.NAMESPACE args.parse_and_run_command([subcommand] + sys.argv[2:], mod, default_command=default_command)
def parse_and_run_cmd(argv, module, default_command): try: args.parse_and_run_command(argv, module, default_command) except (dexy.exceptions.UserFeedback, cashew.exceptions.UserFeedback) as e: msg = u"""Oops, there's a problem running your command. Here is some more information:""" sys.stderr.write(inspect.cleandoc(msg)) sys.stderr.write(os.linesep) err_msg = unicode(e) if err_msg: sys.stderr.write(u"'%s'" % unicode(e)) else: sys.stderr.write(u"Sorry, can't get text of error message.") sys.stderr.write(os.linesep) sys.exit(1) except KeyboardInterrupt: sys.stderr.write("stopping...") sys.stderr.write(os.linesep) sys.exit(1)
def test_no_command_or_default(): args.parse_and_run_command([], commands, default_command=None, exit_on_error=False)
def run(): args.parse_and_run_command(sys.argv[1:], MOD, default_command='screenshot')
def run(): args.parse_and_run_command(sys.argv[1:], MOD, default_command=setting("default-command"))
def test_invalid_options(): args.parse_and_run_command(['test', '-foobar'], commands)
def test_load_a_module(): loaded_module = args.load_module("tests.loadme") args.parse_and_run_command(['blahblah', '-port', '200'], loaded_module)
from modargs import args import os, sys print os.getcwd() from lamson import commands import sys args.parse_and_run_command(sys.argv[1:], commands, default_command="help")
def test_cli_options(): args.parse_and_run_command(['clioptions', '-kwfoo', '7'], commands)
def run(): args.parse_and_run_command(sys.argv[1:], MOD, default_command=DEFAULT_COMMAND)