'Checks if the given object carries anything that gives light.
Note that we do NOT look for a specific LightSource typeclass,
but for the Attribute is_giving_light - this makes it easy to
later add other types of light-giving items. We also accept
if there is a light-giving object in the room overall (like if
a splinter was dropped in the room)'

def _carries_light(self, obj):

    return (obj.is_superuser or obj.db.is_giving_light or any((o for o in obj.contents if o.db.is_giving_light)))
