# HG changeset patch # User Jeff Hammel # Date 1428946537 25200 # Node ID abfd4c294f024c91ec5f1c3ee4f3bad49bb3fd69 # Parent 1d24392ba5f5ad7c48076f8c712325698464acfd subclass ManipulationParser diff -r 1d24392ba5f5 -r abfd4c294f02 numerics/cleanse.py --- a/numerics/cleanse.py Mon Apr 13 10:32:22 2015 -0700 +++ b/numerics/cleanse.py Mon Apr 13 10:35:37 2015 -0700 @@ -10,46 +10,26 @@ import os import sys import time +from .manipulate import ManipulationParser # module globals __all__ = ['main', 'CleanseParser'] -class CleanseParser(argparse.ArgumentParser): +class CleanseParser(ManipulationParser): """CLI option parser""" def __init__(self, **kwargs): - kwargs.setdefault('formatter_class', argparse.RawTextHelpFormatter) - kwargs.setdefault('description', __doc__) - argparse.ArgumentParser.__init__(self, **kwargs) - self.add_argument('--monitor', dest='monitor', - type=float, metavar='SLEEP', - help="run in monitor mode") - self.options = None + ManipulationParser.__init__(self, **kwargs) - def parse_args(self, *args, **kw): - options = argparse.ArgumentParser.parse_args(self, *args, **kw) - self.validate(options) - self.options = options - return options - - def validate(self, options): - """validate options""" def main(args=sys.argv[1:]): """CLI""" # parse command line options - parser = Parser() + parser = CleanseParser() options = parser.parse_args(args) - try: - while True: - if options.monitor: - time.sleep(options.monitor) - else: - break - except KeyboardInterrupt: - pass + if __name__ == '__main__': main()