Fixed Attributehandler.get() default return value.

This commit is contained in:
Griatch 2014-04-25 09:01:49 +02:00
parent c402f9424c
commit 4ab5e2aa22

View file

@ -251,6 +251,13 @@ class AttributeHandler(object):
checked before displaying each looked-after Attribute. If no checked before displaying each looked-after Attribute. If no
accessing_obj is given, no check will be done. accessing_obj is given, no check will be done.
""" """
class RetDefault(object):
"Holds default values"
def __init__(self):
self.value = default
self.strvalue = str(default)
if self._cache is None or not _TYPECLASS_AGGRESSIVE_CACHE: if self._cache is None or not _TYPECLASS_AGGRESSIVE_CACHE:
self._recache() self._recache()
ret = [] ret = []
@ -270,7 +277,7 @@ class AttributeHandler(object):
if raise_exception: if raise_exception:
raise AttributeError raise AttributeError
else: else:
ret.append(default) ret.append(RetDefault())
if accessing_obj: if accessing_obj:
# check 'attrread' locks # check 'attrread' locks
ret = [attr for attr in ret if attr.access(accessing_obj, self._attrread, default=default_access)] ret = [attr for attr in ret if attr.access(accessing_obj, self._attrread, default=default_access)]