def slots(self): value = {} for event_type in slot_events: event = event_type(self.context, self.request) this_slots = value[event.name] = [] for snippet in objectevent_listeners(event): if snippet is not None: if isinstance(snippet, list): this_slots.extend(snippet) else: this_slots.append(snippet) return value
def __getattr__(self, name): for event_type in slot_events: if event_type.name == name: break else: raise AttributeError(name) value = [] event = event_type(self.context, self.request) for snippet in objectevent_listeners(event): if snippet is not None: if isinstance(snippet, list): value.extend(snippet) else: value.append(snippet) setattr(self, name, value) return value