]> git.llucax.com Git - software/pymin.git/commitdiff
Handle calling a command with an unexpected keyword argument errors.
authorLeandro Lucarella <llucarella@integratech.com.ar>
Wed, 10 Oct 2007 14:57:58 +0000 (11:57 -0300)
committerLeandro Lucarella <llucarella@integratech.com.ar>
Wed, 10 Oct 2007 14:57:58 +0000 (11:57 -0300)
pymin/dispatcher.py

index 10e7fb8fe74349bb94bc53b7960842a6a7d451bb..314817d13e227e1d57b08b75eb58634330873cde 100644 (file)
@@ -384,6 +384,7 @@ def parse_command(command):
     return (seq, dic)
 
 args_re = re.compile(r'\w+\(\) takes (.+) (\d+) \w+ \((\d+) given\)')
     return (seq, dic)
 
 args_re = re.compile(r'\w+\(\) takes (.+) (\d+) \w+ \((\d+) given\)')
+kw_re = re.compile(r'\w+\(\) got an unexpected keyword argument (.+)')
 
 class Dispatcher:
     r"""Dispatcher([root]) -> Dispatcher instance :: Command dispatcher.
 
 class Dispatcher:
     r"""Dispatcher([root]) -> Dispatcher instance :: Command dispatcher.
@@ -462,6 +463,12 @@ class Dispatcher:
                 raise WrongArgumentsError(
                         u'Command "%s" takes %s %s argument%s, %s given.'
                             % (handler.__name__, quant, n_ok, pl, n_bad))
                 raise WrongArgumentsError(
                         u'Command "%s" takes %s %s argument%s, %s given.'
                             % (handler.__name__, quant, n_ok, pl, n_bad))
+            m = kw_re.match(unicode(e))
+            if m:
+                (kw,)  = m.groups()
+                raise WrongArgumentsError(
+                        u'Command "%s" got an unexpected keyword argument %s.'
+                            % (handler.__name__, kw))
             raise
 
 
             raise