diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2021-03-09 01:36:20 -0500 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2021-03-09 01:36:20 -0500 |
| commit | 2295f42d515d46aa8175a956ebbde33292d442b2 (patch) | |
| tree | eea25e1a42e9ff75ad24e43ab173ce9997c58970 /log_raider/cli | |
| parent | fee4186f4ad11ec78f745d13665e45fd84625420 (diff) | |
| download | log_raider-2295f42d515d46aa8175a956ebbde33292d442b2.tar.gz | |
Split main into cli/jenkins.py
* Add verbose_{enable, disable}
* printv function uses stderr
Diffstat (limited to 'log_raider/cli')
| -rw-r--r-- | log_raider/cli/__init__.py | 0 | ||||
| -rw-r--r-- | log_raider/cli/jenkins.py | 47 |
2 files changed, 47 insertions, 0 deletions
diff --git a/log_raider/cli/__init__.py b/log_raider/cli/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/log_raider/cli/__init__.py diff --git a/log_raider/cli/jenkins.py b/log_raider/cli/jenkins.py new file mode 100644 index 0000000..27094fb --- /dev/null +++ b/log_raider/cli/jenkins.py @@ -0,0 +1,47 @@ +import argparse +import json +import os +import sys + +from .. import jenkins +from .. import __version__ + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("-j", "--json", action="store_true", help="Emit JSON") + parser.add_argument("-v", "--verbose", action="store_true", help="Increase verbosity") + parser.add_argument("-V", "--version", action="store_true", help="Show version") + parser.add_argument("logfile", nargs='?', help="Path to Jenkins log file") + + args = parser.parse_args() + + if args.version: + print(__version__) + exit(0) + + if not args.logfile: + print(f"{os.path.basename(sys.argv[0])}: error: the following arguments are required: logfile") + parser.print_help() + exit(1) + + if not os.path.exists(args.logfile): + print(f"{args.logfile}: does not exist") + + if args.verbose: + jenkins.verbose_enable() + + data = jenkins.parse_log(args.logfile) + + if args.json: + print(json.dumps(data, indent=2)) + else: + for x in data: + print("#" * 79) + print(f"{x['type']} - {x['name']} (line @ {x['line']})") + print("#" * 79) + print(f"{x['data']}") + + +if __name__ == "__main__": + sys.exit(main()) |
