Skip to content

Instantly share code, notes, and snippets.

@ahinz
Created June 11, 2012 15:00
Show Gist options
  • Save ahinz/2910499 to your computer and use it in GitHub Desktop.
Save ahinz/2910499 to your computer and use it in GitHub Desktop.
def getqattr(obj, name):
''' get value of an object, safely '''
try:
if hasattr(name,'__call__'):
return name(obj)
else:
value = getattr(obj, name)
if hasattr(value, '__call__'): # function generated value
if name.find('link') != -1: # link tuple triplet
return _linkify(value())
return value()
elif (isinstance(value, datetime.datetime)
or isinstance(value, datetime.date)): # datetime object
return datetime2iso8601(value)
return value
except:
return None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment