Param now takes cli_name kwarg that sets Param.cli_name attribute

This commit is contained in:
Jason Gerard DeRose 2008-10-13 17:24:23 -06:00
parent 367143adf3
commit 8674086b85
2 changed files with 6 additions and 0 deletions

View File

@ -198,6 +198,7 @@ class Param(plugable.ReadOnly):
============ ================= ================== ============ ================= ==================
Keyword Type Default Keyword Type Default
============ ================= ================== ============ ================= ==================
cli_name str defaults to name
type ipa_type.Type ipa_type.Unicode() type ipa_type.Type ipa_type.Unicode()
doc str '' doc str ''
required bool True required bool True
@ -210,6 +211,7 @@ class Param(plugable.ReadOnly):
""" """
__nones = (None, '', tuple(), []) __nones = (None, '', tuple(), [])
__defaults = dict( __defaults = dict(
cli_name=None,
type=ipa_types.Unicode(), type=ipa_types.Unicode(),
doc='', doc='',
required=True, required=True,
@ -226,6 +228,7 @@ class Param(plugable.ReadOnly):
(name, kw_from_spec) = parse_param_spec(name) (name, kw_from_spec) = parse_param_spec(name)
override.update(kw_from_spec) override.update(kw_from_spec)
kw = dict(self.__defaults) kw = dict(self.__defaults)
kw['cli_name'] = name
if not set(kw).issuperset(override): if not set(kw).issuperset(override):
extra = sorted(set(override) - set(kw)) extra = sorted(set(override) - set(kw))
raise TypeError( raise TypeError(
@ -234,6 +237,7 @@ class Param(plugable.ReadOnly):
kw.update(override) kw.update(override)
self.__kw = kw self.__kw = kw
self.name = check_name(name) 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.type = self.__check_isinstance(ipa_types.Type, 'type')
self.doc = self.__check_type(str, 'doc') self.doc = self.__check_type(str, 'doc')
self.required = self.__check_type(bool, 'required') self.required = self.__check_type(bool, 'required')

View File

@ -155,6 +155,7 @@ class test_Param(ClassChecker):
# Test default values # Test default values
assert read_only(o, 'name') is name 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 isinstance(read_only(o, 'type'), ipa_types.Unicode)
assert read_only(o, 'doc') == '' assert read_only(o, 'doc') == ''
assert read_only(o, 'required') is True assert read_only(o, 'required') is True
@ -167,6 +168,7 @@ class test_Param(ClassChecker):
# Test all kw args: # Test all kw args:
t = ipa_types.Int() 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, type=t).type is t
assert self.cls(name, doc='the doc').doc == 'the doc' assert self.cls(name, doc='the doc').doc == 'the doc'
assert self.cls(name, required=False).required is False assert self.cls(name, required=False).required is False