diff makeitso/python_package/{{package}}/{{main}}.py @ 188:1bcf60bcc455

update to argparse
author Jeff Hammel <k0scist@gmail.com>
date Fri, 11 Apr 2014 18:50:40 -0700
parents 74f41d53b057
children 3cb66c9e5ce8
line wrap: on
line diff
--- a/makeitso/python_package/{{package}}/{{main}}.py	Fri Apr 11 17:06:22 2014 -0700
+++ b/makeitso/python_package/{{package}}/{{main}}.py	Fri Apr 11 18:50:40 2014 -0700
@@ -6,30 +6,36 @@
 """
 
 # imports
-import optparse
+import argparse
 import os
 import subprocess
 import sys
 
 __all__ = ['main']
 here = os.path.dirname(os.path.realpath(__file__))
+string = (str, unicode)
 
-def add_options(parser):
-    """add options to the OptionParser instance"""
+class PlainDescriptionFormatter(optparse.IndentedHelpFormatter):
+    """description formatter for console script entry point"""
+    def format_description(self, description):
+        if description:
+            return description.strip() + '\n'
+        else:
+            return ''
+
+
+class Parser(argparse.ArgumentParser):
+    """CLI option parser"""
+    def __init__(self):
+        argparse.ArgumentParser.__init__(self, description=__doc__)
+
 
 def main(args=sys.argv[1:]):
+    """CLI"""
 
     # parse command line options
-    usage = '%prog [options] ...'
-    class PlainDescriptionFormatter(optparse.IndentedHelpFormatter):
-        """description formatter for console script entry point"""
-        def format_description(self, description):
-            if description:
-                return description.strip() + '\n'
-            else:
-                return ''
-    parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter())
-    options, args = parser.parse_args(args)
+    parser = Parser()
+    options = parser.parse_args(args)
 
 if __name__ == '__main__':
   main()