Check for functions before dictionaries, some lambda functions were being interpreted as dict()

This commit is contained in:
Roberto Rosario
2011-02-09 12:29:26 -04:00
parent 600b94bbda
commit d3d9ac38a1

View File

@@ -46,10 +46,10 @@ def urlquote(link=None, get={}):
def return_attrib(obj, attrib, arguments={}):
try:
if isinstance(obj, types.DictType) or isinstance(obj, types.DictionaryType):
return obj[attrib]
elif isinstance(attrib, types.FunctionType):
if isinstance(attrib, types.FunctionType):
return attrib(obj)
elif isinstance(obj, types.DictType) or isinstance(obj, types.DictionaryType):
return obj[attrib]
else:
result = reduce(getattr, attrib.split("."), obj)
if isinstance(result, types.MethodType):