X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/c9d3523aec7eee7941162e598dd1c9dc500809e6..c36e91239ae45d2083f5693c44b71e2d48438278:/pymin/dispatcher.py?ds=sidebyside diff --git a/pymin/dispatcher.py b/pymin/dispatcher.py index 0127d4f..314817d 100644 --- a/pymin/dispatcher.py +++ b/pymin/dispatcher.py @@ -384,6 +384,7 @@ def parse_command(command): 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. @@ -459,8 +460,15 @@ class Dispatcher: pl = '' if n_ok > 1: pl = 's' - raise WrongArgumentsError(u'%s takes %s %s argument%s, %s given' + 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