# item.py import timings class Item: def __init__(self, title, events): self._title = title self._events = events self._timings = timings.Timings() for event in self._events: event.set_timings(self._timings) event.prepare() self.resolve() def reset(self): self._timings.reset() self.resolve() def resolve(self): self._timings.resolve() self._timings.resolve(final=True) def eventkey(x): x = x.at if x is None: return (1, x) else: return (0, x) self._events.sort(key=eventkey) # print("Item {}".format(self._title)) # for event in self._events: # print("Event at time {}".format(event.at)) def activate(self, marker, time): if marker is None: marker = self._timings.get_button() if marker is None: return False self._timings.set_marker(marker, time) self.resolve() return True def get_next_button(self): return self._timings.get_button() def get_title(self): return self._title def get_timings(self): return self._timings def set_audiencecontent(self, audiencecontent): for event in self._events: event.set_audiencecontent(audiencecontent)