def cli(args=sys.argv[1:]): import optparse alias_config = Config(section='alias') if set(list(alias_config.items().keys())).intersection(args): for alias, target in list(alias_config.items()).items(): if args[0] == alias: args = shlex.split(target) + args[1:] break parser = build_parser() try: config = Config() pre_opts, pre_args = None, None try: optparser = optparse.OptionParser() def void(*args): raise SystemExit() optparser.print_usage = void optparser.add_option("", "--version", action='store_true', default=False) pre_opts, pre_args = optparser.parse_args(args) except SystemExit: pass if pre_opts and pre_opts.version: print(__version__) return if not (pre_opts and ("configure" in pre_args or "clear_cache" in pre_args)): post_args = parser.parse_args(args) jira = initialize( config, post_args.jira_url, post_args.username, post_args.password, persist=not (post_args.username or post_args.jira_url), protocol='rest' ) return post_args.cmd(jira, post_args).execute() else: if "configure" in pre_args: config.reset() initialize( config, "", "", "", True, protocol='rest' ) elif "clear_cache" in pre_args: clear_cache() print_output(colorfunc("jira-cli cache cleared", "green")) return except KeyboardInterrupt: print_error("aborted", severity=WARNING) except UsageWarning as e: print_error(str(e), severity=WARNING) except (JiraCliError, UsageError) as e: print_error(str(e)) except (WebFault) as e: print_error(JiraCliError(e)) except (JIRAError) as e: print_error(JiraCliError(e)) except NotImplementedError as e: print_error(e)
def cli(args=sys.argv[1:]): parser = build_parser() try: config = Config() pre_opts, pre_args = None, None try: pre_opts, pre_args = fake_parse(args) except StopIteration: pre_opts, pre_args = None, None if "--v1" in args or config.v1: if '--v1' in sys.argv: print_error( "Use of the v1 interface is no longer supported. Please refer to jiracli.readthedocs.io", WARNING ) sys.argv.remove("--v1") return old_main() except SystemExit: pass if pre_opts and pre_opts.version: print(__version__) return if ( not (pre_opts or pre_args) or (pre_opts and not (pre_opts.v1 or config.v1)) and not (pre_opts and ("configure" in pre_args or "clear_cache" in pre_args)) ): post_args = parser.parse_args(args) jira = initialize( config, post_args.jira_url, post_args.username, post_args.password, persist=not (post_args.username or post_args.jira_url), protocol=post_args.protocol or config.protocol or 'rest' ) return post_args.cmd(jira, post_args).execute() else: if "configure" in pre_args: config.reset() initialize( config, "", "", "", True, protocol=pre_opts.protocol or config.protocol or 'soap' ) elif "clear_cache" in pre_args: clear_cache() print_output(colorfunc("jira-cli cache cleared", "green")) return except KeyboardInterrupt: print_error("aborted", severity=WARNING) except UsageWarning as e: print_error(str(e), severity=WARNING) except (JiraCliError, UsageError) as e: print_error(str(e)) except (WebFault) as e: print_error(JiraCliError(e)) except (JIRAError) as e: print_error(JiraCliError(e)) except NotImplementedError as e: print_error(e)
def cli(args=sys.argv[1:]): parser = build_parser() try: config = Config() pre_opts, pre_args = None, None try: pre_opts, pre_args = fake_parse(args) except StopIteration: pre_opts, pre_args = None, None if not ("--v2" in args or config.v2): return old_main() except SystemExit: pass if pre_opts and pre_opts.version: print(__version__) return if (not (pre_opts or pre_args) or (pre_opts and (pre_opts.v2 or config.v2)) and not (pre_opts and ("configure" in pre_args or "clear_cache" in pre_args))): post_args = parser.parse_args(args) jira = initialize( config, post_args.jira_url, post_args.username, post_args.password, persist=not (post_args.username or post_args.jira_url), protocol=post_args.protocol or config.protocol or 'soap') return post_args.cmd(jira, post_args).execute() else: if "configure" in pre_args: config.reset() initialize(config, "", "", "", True, protocol=pre_opts.protocol or config.protocol or 'soap') elif "clear_cache" in pre_args: clear_cache() print_output(colorfunc("jira-cli cache cleared", "green")) return except KeyboardInterrupt: print_error("aborted", severity=WARNING) except UsageWarning as e: print_error(str(e), severity=WARNING) except (JiraCliError, UsageError) as e: print_error(str(e)) except (WebFault) as e: print_error(JiraCliError(e)) except (JIRAError) as e: print_error(JiraCliError(e)) except NotImplementedError as e: print_error(e)
def cli(args=sys.argv[1:]): parser = build_parser() try: config = Config() pre_opts, pre_args = None, None try: pre_opts, pre_args = fake_parse(args) except StopIteration: pre_opts, pre_args = None, None if not ("--v2" in args or config.v2): return old_main() except SystemExit: pass if ( not (pre_opts or pre_args) or (pre_opts and pre_opts.v2) and not (pre_opts and ("configure" in pre_args or "clear_cache" in pre_args)) ): post_args = parser.parse_args(args) jira = initialize( config, post_args.jira_url, post_args.username, post_args.password, persist=not (post_args.username or post_args.jira_url), protocol=post_args.protocol or config.protocol ) return post_args.cmd(jira, post_args).execute() else: if "configure" in pre_args: config.reset() initialize(config, "", "", "", True) elif "clear_cache" in pre_args: clear_cache() print_output(colorfunc("jira-cli cache cleared", "green")) return except KeyboardInterrupt: print_error("aborted", severity=WARNING) except UsageWarning as e: print_error(str(e), severity=WARNING) except (JiraCliError, UsageError) as e: print_error(str(e)) except (WebFault) as e: print_error(JiraCliError(e)) except (JIRAError) as e: print_error(JiraCliError(e)) except NotImplementedError as e: print_error(e)
def cli(args=sys.argv[1:]): alias_config = Config(section='alias') if set(alias_config.items().keys()).intersection(args): for alias, target in alias_config.items().items(): if args[0] == alias: args = shlex.split(target) + args[1:] break parser = build_parser() try: config = Config() pre_opts, pre_args = None, None try: pre_opts, pre_args = fake_parse(args) except StopIteration: pre_opts, pre_args = None, None if "--v1" in args or config.v1: if '--v1' in sys.argv: print_error( "Use of the v1 interface is no longer supported. Please refer to jiracli.readthedocs.io", WARNING) sys.argv.remove("--v1") return old_main() except SystemExit: pass if pre_opts and pre_opts.version: print(__version__) return if (not (pre_opts or pre_args) or (pre_opts and not (pre_opts.v1 or config.v1)) and not (pre_opts and ("configure" in pre_args or "clear_cache" in pre_args))): post_args = parser.parse_args(args) jira = initialize( config, post_args.jira_url, post_args.username, post_args.password, persist=not (post_args.username or post_args.jira_url), protocol=post_args.protocol or config.protocol or 'rest') return post_args.cmd(jira, post_args).execute() else: if "configure" in pre_args: config.reset() initialize(config, "", "", "", True, protocol=pre_opts.protocol or config.protocol or 'soap') elif "clear_cache" in pre_args: clear_cache() print_output(colorfunc("jira-cli cache cleared", "green")) return except KeyboardInterrupt: print_error("aborted", severity=WARNING) except UsageWarning as e: print_error(str(e), severity=WARNING) except (JiraCliError, UsageError) as e: print_error(str(e)) except (WebFault) as e: print_error(JiraCliError(e)) except (JIRAError) as e: print_error(JiraCliError(e)) except NotImplementedError as e: print_error(e)