def log_repo( path, start, end ): if start: revision = '%s:%s' % ( start, end ) else: revision = end verbose( 'Log %s revision %s' % ( path, revision ), False ) logs = pr_svn.log( path, revision, True, True ) wait() return logs
def main(argv=None): global options if argv is None: argv = sys.argv try: try: opts, args = getopt.getopt( argv[1:], "hr:tywg:o:n:d:mxfpvq", [ "help", "revision=", "today", "yesterday", "week", "group=", "output=", "name=", "default=", "multi", "xxx", "fun", "paths", "verbose", "quiet", ], ) except getopt.error, msg: raise Usage(msg) options["revision"] = '{"' + lastweek.isoformat() + 'T00:00Z"}:HEAD' for option, value in opts: if option in ("-h", "--help"): raise Usage(help_message) if option in ("-r", "--revision"): options["revision"] = value if option in ("-t", "--today"): options["revision"] = '{"' + today.isoformat() + 'T00:00Z"}:{"' + today.isoformat() + 'T23:59Z"}' if option in ("-y", "--yesterday"): options["revision"] = ( '{"' + yesterday.isoformat() + 'T00:00Z"}:{"' + yesterday.isoformat() + 'T23:59Z"}' ) if option in ("-w", "--week"): options["revision"] = '{"' + lastweek.isoformat() + 'T00:00Z"}:{"' + yesterday.isoformat() + 'T23:59Z"}' if option in ("-g", "--group") and value in ["date", "category", "author", "none"]: options["group"] = value if option in ("-o", "--output"): options["output"] = value if option in ("-n", "--name"): options["name"] = " - %s" % value if option in ("-d", "--default"): options["default"] = value if option in ("-m", "--multi"): options["multi"] = True if option in ("-x", "--xxx"): options["hide"] = True if option in ("-f", "--fun"): options["hide"] = False if option in ("-p", "--paths"): options["paths"] = True if option in ("-v", "--verbose"): options["verbose"] = "-v" if option in ("-q", "--quiet"): options["quiet"] = "-q" try: options["path"] = args[0] except: raise Usage("Missing PATH or URL argument.") if options["output"] not in ["text", "bbcode", "rss", "test"]: raise Usage("Incorrect output format (text, bbcode, rss, test)") logs = pr_svn.log(options["path"], options["revision"], options["paths"], options["multi"], options["default"]) if options["hide"] in [True, False]: logs = hide(logs, options["hide"]) header(options["path"], options["revision"], options["output"]) if options["group"] == "none": by_none(logs, options["output"]) elif options["group"] == "category": by_category(logs, options["output"]) elif options["group"] == "author": by_author(logs, options["output"]) else: by_date(logs, options["output"]) footer(options["path"], options["revision"], options["output"])