better raise message if try to launch impl_get_information/impl_set_information in uncompatible class
This commit is contained in:
parent
23f6d2228f
commit
3c0629e6a9
|
@ -64,19 +64,27 @@ class BaseInformation(object):
|
|||
:param key: information's key (ex: "help", "doc"
|
||||
:param value: information's value (ex: "the help string")
|
||||
"""
|
||||
try:
|
||||
self._impl_informations[key] = value
|
||||
except AttributeError:
|
||||
raise AttributeError(_('{0} instance has no attribute '
|
||||
'impl_set_information').format(self.__class__.__name__))
|
||||
|
||||
def impl_get_information(self, key, default=None):
|
||||
"""retrieves one information's item
|
||||
|
||||
:param key: the item string (ex: "help")
|
||||
"""
|
||||
try:
|
||||
if key in self._impl_informations:
|
||||
return self._impl_informations[key]
|
||||
elif default is not None:
|
||||
return default
|
||||
else:
|
||||
raise ValueError(_("Information's item not found: {0}").format(key))
|
||||
except AttributeError:
|
||||
raise AttributeError(_('{0} instance has no attribute '
|
||||
'impl_get_information').format(self.__class__.__name__))
|
||||
|
||||
|
||||
class Option(BaseInformation):
|
||||
|
|
Loading…
Reference in New Issue