def _clone_session_blocks(self, blocks): attrs = get_simple_column_attrs(SessionBlock) | {'own_room', 'own_venue'} for old_block in blocks: block = SessionBlock() block.populate_from_attrs(old_block, attrs) block.person_links = list(self._clone_person_links(old_block.person_links)) self._session_block_map[old_block] = block yield block
def _clone_session_blocks(self, blocks): attrs = get_simple_column_attrs(SessionBlock) | {'own_room', 'own_venue'} for old_block in blocks: block = SessionBlock() block.populate_from_attrs(old_block, attrs) block.person_links = list(self._clone_person_links(old_block.person_links)) self._session_block_map[old_block] = block yield block
def _migrate_block_timetable_entry(self, old_entry): old_block = old_entry._LinkedTimeSchEntry__owner try: session = self.event_ns.legacy_session_map[old_block.session] except KeyError: self.print_warning('%[yellow!]Found zombie session {}'.format(old_block.session)) session = self._migrate_session(old_block.session) session_block = SessionBlock(session=session, title=convert_to_unicode(old_block.title), duration=old_block.duration) session_block.timetable_entry = TimetableEntry(event_new=self.event, start_dt=self.context._fix_naive(old_block.startDate)) if session.legacy_mapping is not None: session_block.legacy_mapping = LegacySessionBlockMapping(event_new=self.event, legacy_session_id=old_block.session.id, legacy_session_block_id=old_block.id) self._migrate_location(old_block, session_block) session_block.person_links = list(self._migrate_session_block_person_links(old_block)) self._migrate_timetable_entries(old_block._schedule._entries, session_block) return session_block.timetable_entry