From 0d3be2f421c3cd4044c4d7616d9426ac58a71ce8 Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Wed, 10 Sep 2008 01:54:48 +0000 Subject: 278: Completed unit tests for Command.args instance attribute --- ipalib/public.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'ipalib/public.py') diff --git a/ipalib/public.py b/ipalib/public.py index 772490d0..99c51999 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -204,13 +204,16 @@ def generate_argument(name): """ if name.endswith('?'): kw = dict(required=False, multivalue=False) + name = name[:-1] elif name.endswith('*'): kw = dict(required=False, multivalue=True) + name = name[:-1] elif name.endswith('+'): kw = dict(required=True, multivalue=True) + name = name[:-1] else: kw = dict(required=True, multivalue=False) - return Option(name.rstrip('?*+'), ipa_types.Unicode(), **kw) + return Option(name, ipa_types.Unicode(), **kw) class Command(plugable.Plugin): @@ -223,7 +226,7 @@ class Command(plugable.Plugin): '__call__', 'smart_option_order', 'Option', - 'takes_args', + 'args', )) __Option = None options = tuple() @@ -243,7 +246,7 @@ class Command(plugable.Plugin): multivalue = False for arg in self.get_args(): if type(arg) is str: - arg = Option(arg, ipa_types.Unicode(), required=True) + arg = generate_argument(arg) elif not isinstance(arg, Option): raise TypeError( 'arg: need %r or %r; got %r' % (str, Option, arg) -- cgit