Mercurial > hg > tvii
view tvii/cli.py @ 75:a17d43d7bf1b
add simple CLI abstraction
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 17 Dec 2017 13:32:24 -0800 |
parents | |
children |
line wrap: on
line source
""" Command-Line Interface support """ import argparse import os class CLIParser(argparse.ArgumentParser): """ABC for CLI parsing""" def __init__(self, **kwargs): argparse.ArgumentParser.__init__(self, **kwargs) self.add_arguments() self.options = None def add_arguments(self): self.add_argument('-v', '--verbose', dest='verbose', action='store_true', default=False, help="be more verbose") def parse_args(self, args): options = argparse.ArgumentParser.parse_args(self, args) self.options = self.validate(options) return self.options def validate(self, options): if not getattr(options, 'verbose', False): # https://github.com/tensorflow/tensorflow/issues/7778 os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' return options