mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Param now takes cli_name kwarg that sets Param.cli_name attribute
This commit is contained in:
parent
367143adf3
commit
8674086b85
@ -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')
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user