Guest User

Python deep getter with default

a guest
May 5th, 2017
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.33 KB | None | 0 0
  1. _DEFAULT_NOT_SPECIFIED = object()
  2. def deep_getter(dotted_path, default=_DEFAULT_NOT_SPECIFIED):
  3.   get_it = operator.attrgetter(dotted_path)
  4.   if default is _DEFAULT_NOT_SPECIFIED:
  5.     return get_it
  6.   def _safe_get_it(obj):
  7.     try:
  8.       return get_it(obj)
  9.     except AttributeError:
  10.       return default
  11.   return _safe_get_it
Advertisement
Add Comment
Please, Sign In to add comment