def loadEvents(self, parent, durationIndex=None, personCacheDict=None): if durationIndex: dx = durationIndex tx = 0 else: dx = 0 tx = 1 listOfEvents = [] with self._connection: _c = self._connection.cursor() _c.execute('SELECT * FROM Events WHERE templateType = ? AND duration = ?', (tx, dx)) for row in _c.fetchall(): dt = row[5] if durationIndex: e = Event(parent) e._datetime = dt else: e = EventPrototype(parent) e.time = dt.time() e.name = row[4] e.title = row[1] e.notes = row[2] e.description = row[3] appointmentsOfThisEvent = [] for row in _c.execute('SELECT * FROM Appointments WHERE event = ?', (row[0],)): r = role(row[3]) if durationIndex: a = Appointment(e, r, e) else: a = AppointmentPrototype(e,r) a.note = row[1] if row[2] == 1: a.disabled = True if personCacheDict and len(row[4]) > 0: p = personCacheDict[row[4]] a.appoint(p) appointmentsOfThisEvent.append(a) e.appointments = appointmentsOfThisEvent listOfEvents.append(e) if durationIndex: parent.events = listOfEvents else: parent.templates = listOfEvents
def _get_events(self): if len(self._duration.events) > 0: raise ExcellImportExportError('This duration already has events') self._duration.events = [] table_events = [] for i in range(2, self._event_sheet.nrows): if self._event_sheet.cell_type(i, 0) is 0: break else: e = {} e['date'] = self._event_sheet.cell_value(i, 0) e['time'] = self._event_sheet.cell_value(i, 1) e['title'] = self._event_sheet.cell_value(i, 2) e['notes'] = self._event_sheet.cell_value(i, 3) e['description'] = self._event_sheet.cell_value(i, 4) table_events.append(e) for e in table_events: event = Event(self._duration) event.title = e['title'] event.notes = e['notes'] event.description = e['description'] event.date = get_date(e['date']) event.time = get_time(e['time']) self._duration.events.append(event)
def setUp(self): GlobalRoleList.add_role(Role('Baker', 'B', 10)) GlobalRoleList.add_role(Role('Steward', 'S', 9)) GlobalRoleList.add_role(Role('Fisherman', 'F', 7)) GlobalRoleList.add_role(Role('Cook', 'C', 7)) self.institution = Institution() self.duration = Duration(self.institution) e = Event(self.duration) e.title = 'A' e.add_appointment(Appointment(e, role("C"), e)) e.add_appointment(Appointment(e, role("S"), e)) e.appointments[1].note = 'with car' e.add_appointment(Appointment(e, role("F"), e)) e.add_appointment(Appointment(e, role("F"), e)) e.appointments[3].disabled = True e.add_appointment(Appointment(e, role("F"), e)) self.duration.events.append(e) e = Event(self.duration) e.title = 'B' e.add_appointment(Appointment(e, role("F"), e)) e.add_appointment(Appointment(e, role("F"), e)) e.appointments[1].note = 'with car' e.add_appointment(Appointment(e, role("S"), e)) e.appointments[2].note = 'with car' e.add_appointment(Appointment(e, role("B"), e)) self.duration.events.append(e)