Mercurial > hg > MakeItSo
comparison makeitso/python_package/{{package}}/{{main}}.py @ 196:d25ca7099df8
STUB: makeitso/python_package/{{package}}/{{main}}.py
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Sat, 24 May 2014 18:24:17 -0700 |
| parents | 3cb66c9e5ce8 |
| children | bb57bec165b7 |
comparison
equal
deleted
inserted
replaced
| 195:3cb66c9e5ce8 | 196:d25ca7099df8 |
|---|---|
| 14 # module globals | 14 # module globals |
| 15 __all__ = ['main', 'Parser'] | 15 __all__ = ['main', 'Parser'] |
| 16 here = os.path.dirname(os.path.realpath(__file__)) | 16 here = os.path.dirname(os.path.realpath(__file__)) |
| 17 string = (str, unicode) | 17 string = (str, unicode) |
| 18 | 18 |
| 19 def ensure_dir(directory): | |
| 20 """ensure a directory exists""" | |
| 21 if os.path.exists(directory): | |
| 22 assert os.path.isdir(directory) | |
| 23 return directory | |
| 24 os.makedirs(directory) | |
| 25 return directory | |
| 26 | |
| 19 | 27 |
| 20 class Parser(argparse.ArgumentParser): | 28 class Parser(argparse.ArgumentParser): |
| 21 """CLI option parser""" | 29 """CLI option parser""" |
| 22 def __init__(self): | 30 def __init__(self): |
| 23 argparse.ArgumentParser.__init__(self, description=__doc__) | 31 argparse.ArgumentParser.__init__(self, description=__doc__) |
| 32 self.options = None | |
| 24 | 33 |
| 34 def parse_args(self, *args, **kw): | |
| 35 options = argparse.ArgumentParser.parse_args(*args, **kw) | |
| 36 self.validate(options) | |
| 37 self.options = options | |
| 38 return options | |
| 39 | |
| 40 def validate(self, options): | |
| 41 """validate options""" | |
| 25 | 42 |
| 26 def main(args=sys.argv[1:]): | 43 def main(args=sys.argv[1:]): |
| 27 """CLI""" | 44 """CLI""" |
| 28 | 45 |
| 29 # parse command line options | 46 # parse command line options |
| 30 parser = Parser(description=__doc__) | 47 parser = Parser(description=__doc__) |
| 31 options = parser.parse_args(args) | 48 options = parser.parse_args(args) |
| 32 | 49 |
| 33 if __name__ == '__main__': | 50 if __name__ == '__main__': |
| 34 main() | 51 main() |
