diff makeitso/cli.py @ 95:e74baa8e6df4

fix CLI interface a bit....write a test for it
author Jeff Hammel <jhammel@mozilla.com>
date Tue, 11 Jan 2011 09:06:25 -0800
parents cb6c54b1adf3
children 37f92ae8f999
line wrap: on
line diff
--- a/makeitso/cli.py	Tue Jan 11 07:33:59 2011 -0800
+++ b/makeitso/cli.py	Tue Jan 11 09:06:25 2011 -0800
@@ -29,12 +29,12 @@
                         help=description)
     return parser
 
-  def parse(self, parser=None, options=None, args=None):
+  def parse(self, args=None, parser=None, options=None):
 
     # parse the command line
-    if not parser or not options or not args:
+    if not parser or not options:
       parser = self.parser()
-      options, args = parser.parse_args()
+      options, args = parser.parse_args(args=args)
 
     # ensure output is given
     if len(args) != 1:
@@ -44,8 +44,11 @@
     variables = dict([(key, value)
                       for key, value in options.__dict__.items()
                       if not key.startswith('_')])
+
+    #
+    return variables, args[0]
     
-    # instantiate the template
-    template = self.template_class(output=args[0], variables=variables)
-
-    return template
+  def __call__(self, *args):
+    variables, output = self.parse(list(args))
+    template = self.template_class(variables=variables)
+    template.substitute({}, output=output)