summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/frontend.py4
-rw-r--r--tests/test_ipalib/test_frontend.py2
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