def field(pb, key): assert isinstance(pb, Message), "{key!r} is expected to be an object but got type {type!r}".format( key=key, type=type(pb) ) return Maybe.catch(lambda: getattr(pb, key))
def field(pb, key): assert isinstance( pb, Message ), "{key!r} is expected to be an object but got type {type!r}".format( key=key, type=type(pb)) return Maybe.catch(lambda: getattr(pb, key))
def maybe_getattr(attr, obj): return Maybe.catch(lambda: getattr(obj, attr))