def METHOD_NAME(obj):
    for attr in value_list:
        value = _getattr(obj, attr)
        if attr in datakeys:
            for key in datakeys[attr]:
                yield value.get(key, None)
        elif isinstance(value, tuple):
            # this only normally happens with tuples of Decimal values in Rooms
            yield ", ".join(str(v) for v in value)
        else:
            yield value