| 
														
															@@ -94,6 +94,11 @@ class Command(object): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         """Get supported command line options.""" 
														 | 
														
														 | 
														
															         """Get supported command line options.""" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return self.option_list 
														 | 
														
														 | 
														
															         return self.option_list 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    def expanduser(self, value): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if isinstance(value, basestring): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return os.path.expanduser(value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return value 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def handle_argv(self, prog_name, argv): 
														 | 
														
														 | 
														
															     def handle_argv(self, prog_name, argv): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         """Parses command line arguments from ``argv`` and dispatches 
														 | 
														
														 | 
														
															         """Parses command line arguments from ``argv`` and dispatches 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         to :meth:`run`. 
														 | 
														
														 | 
														
															         to :meth:`run`. 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -105,20 +110,19 @@ class Command(object): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         and ``argv`` contains positional arguments. 
														 | 
														
														 | 
														
															         and ``argv`` contains positional arguments. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         """ 
														 | 
														
														 | 
														
															         """ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         options, args = self.parse_options(prog_name, argv) 
														 | 
														
														 | 
														
															         options, args = self.parse_options(prog_name, argv) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        for o in vars(options): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            v = getattr(options, o) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if isinstance(v, basestring): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                setattr(options, o, os.path.expanduser(v)) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        argv = map(lambda a: isinstance(a, basestring) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                   and os.path.expanduser(a) or a, argv) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        options = dict((k, self.expanduser(v)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        for k, v in vars(options).iteritems() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            if not k.startswith('_')) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        argv = map(self.expanduser, argv) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if not self.supports_args and args: 
														 | 
														
														 | 
														
															         if not self.supports_args and args: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sys.stderr.write( 
														 | 
														
														 | 
														
															             sys.stderr.write( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 "\nUnrecognized command line arguments: %s\n" % ( 
														 | 
														
														 | 
														
															                 "\nUnrecognized command line arguments: %s\n" % ( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     ", ".join(args), )) 
														 | 
														
														 | 
														
															                     ", ".join(args), )) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sys.stderr.write("\nTry --help?\n") 
														 | 
														
														 | 
														
															             sys.stderr.write("\nTry --help?\n") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sys.exit(1) 
														 | 
														
														 | 
														
															             sys.exit(1) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return self.run(*args, **vars(options)) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return self.run(*args, **options) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def parse_options(self, prog_name, arguments): 
														 | 
														
														 | 
														
															     def parse_options(self, prog_name, arguments): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         """Parse the available options.""" 
														 | 
														
														 | 
														
															         """Parse the available options.""" 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -128,8 +132,7 @@ class Command(object): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             print(self.version) 
														 | 
														
														 | 
														
															             print(self.version) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sys.exit(0) 
														 | 
														
														 | 
														
															             sys.exit(0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         parser = self.create_parser(prog_name) 
														 | 
														
														 | 
														
															         parser = self.create_parser(prog_name) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        options, args = parser.parse_args(arguments) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return options, args 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return parser.parse_args(arguments) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def create_parser(self, prog_name): 
														 | 
														
														 | 
														
															     def create_parser(self, prog_name): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return self.Parser(prog=prog_name, 
														 | 
														
														 | 
														
															         return self.Parser(prog=prog_name, 
														 |