diff options
-rw-r--r-- | ipalib/frontend.py | 4 | ||||
-rw-r--r-- | tests/test_ipalib/test_frontend.py | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/ipalib/frontend.py b/ipalib/frontend.py index 639160c11..4c6a9c8d2 100644 --- a/ipalib/frontend.py +++ b/ipalib/frontend.py @@ -198,6 +198,7 @@ class Param(plugable.ReadOnly): ============ ================= ================== Keyword Type Default ============ ================= ================== + cli_name str defaults to name type ipa_type.Type ipa_type.Unicode() doc str '' required bool True @@ -210,6 +211,7 @@ class Param(plugable.ReadOnly): """ __nones = (None, '', tuple(), []) __defaults = dict( + cli_name=None, type=ipa_types.Unicode(), doc='', required=True, @@ -226,6 +228,7 @@ class Param(plugable.ReadOnly): (name, kw_from_spec) = parse_param_spec(name) override.update(kw_from_spec) kw = dict(self.__defaults) + kw['cli_name'] = name if not set(kw).issuperset(override): extra = sorted(set(override) - set(kw)) raise TypeError( @@ -234,6 +237,7 @@ class Param(plugable.ReadOnly): kw.update(override) self.__kw = kw self.name = check_name(name) + self.cli_name = check_name(kw.get('cli_name', name)) self.type = self.__check_isinstance(ipa_types.Type, 'type') self.doc = self.__check_type(str, 'doc') self.required = self.__check_type(bool, 'required') diff --git a/tests/test_ipalib/test_frontend.py b/tests/test_ipalib/test_frontend.py index 89b77ad71..297aa8da6 100644 --- a/tests/test_ipalib/test_frontend.py +++ b/tests/test_ipalib/test_frontend.py @@ -155,6 +155,7 @@ class test_Param(ClassChecker): # Test default values assert read_only(o, 'name') is name + assert read_only(o, 'cli_name') is name assert isinstance(read_only(o, 'type'), ipa_types.Unicode) assert read_only(o, 'doc') == '' assert read_only(o, 'required') is True @@ -167,6 +168,7 @@ class test_Param(ClassChecker): # Test all kw args: t = ipa_types.Int() + assert self.cls(name, cli_name='last').cli_name == 'last' assert self.cls(name, type=t).type is t assert self.cls(name, doc='the doc').doc == 'the doc' assert self.cls(name, required=False).required is False |