summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-10-13 17:24:23 -0600
committerJason Gerard DeRose <jderose@redhat.com>2008-10-13 17:24:23 -0600
commit8674086b8536f64947ca8cdb97d7a1cd3bf1c684 (patch)
tree294a28db85b230cb0894e4a834bd47b273b893db
parent367143adf35039d2e5c0edfd55f4112087d2bebb (diff)
downloadfreeipa-8674086b8536f64947ca8cdb97d7a1cd3bf1c684.tar.gz
freeipa-8674086b8536f64947ca8cdb97d7a1cd3bf1c684.tar.xz
freeipa-8674086b8536f64947ca8cdb97d7a1cd3bf1c684.zip
Param now takes cli_name kwarg that sets Param.cli_name attribute
-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 639160c1..4c6a9c8d 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 89b77ad7..297aa8da 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