diff options
-rw-r--r-- | ipalib/public.py | 2 | ||||
-rw-r--r-- | ipalib/tests/test_public.py | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/ipalib/public.py b/ipalib/public.py index a8c16282..e70103ea 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -202,6 +202,8 @@ def generate_option(name): """ Returns an `Param` instance by parsing ``name``. """ + if type(name) is Param: + return name if name.endswith('?'): kw = dict(required=False, multivalue=False) name = name[:-1] diff --git a/ipalib/tests/test_public.py b/ipalib/tests/test_public.py index 42127ea4..bd6f3a95 100644 --- a/ipalib/tests/test_public.py +++ b/ipalib/tests/test_public.py @@ -319,6 +319,7 @@ def test_generate_option(): assert type(o) is public.Param assert type(o.type) is ipa_types.Unicode assert o.name == 'arg' + assert f(o) is o o = f('arg') assert o.required is True assert o.multivalue is False |