Ejemplo n.º 1
0
    def migrate_legacy_events(self):
        print cformat('%{white!}migrating legacy events')

        # XXX: removed display manager / internal page manager update
        # don't forget to handle them when updating this for 2.0!
        wfr = WebFactoryRegistry()._getConfRegistry()
        for event in self._committing_iterator(self._get_events()):
            if not hasattr(event, '_old_id'):
                new_id = self.gen_event_id()
                event.unindexConf()
                del self.zodb_root['conferences'][event.id]
                wf = wfr.pop(event.id, None)
                event._old_id = event.id
                event.id = new_id
                if wf is not None:
                    wfr[event.id] = wf
                self.zodb_root['conferences'][event.id] = event
                event.indexConf()
                IndexedEvent.find(id=event._old_id).update({IndexedEvent.id: event.id})
                EventSetting.find(event_id=event._old_id).update({EventSetting.event_id: event.id})
                EventSettingPrincipal.find(event_id=event._old_id).update({EventSettingPrincipal.event_id: event.id})
                db.session.add(LegacyEventMapping(legacy_event_id=event._old_id, event_id=int(event.id)))
                if not self.quiet:
                    self.print_success(cformat('%{cyan}{}').format(event.id), event_id=event._old_id)
            else:
                # happens if this importer was executed before but you want to add the mapping to your DB again
                db.session.add(LegacyEventMapping(legacy_event_id=event._old_id, event_id=int(event.id)))
                if not self.quiet:
                    self.print_success(cformat('%{cyan}{}%{reset} %{yellow}(already updated in zodb)').format(event.id),
                                       event_id=event._old_id)
Ejemplo n.º 2
0
 def index(self, obj):
     self.unindex(obj)
     event = IndexedEvent(id=obj.getId(),
                          title=obj.getTitle(),
                          start_date=obj.getStartDate(),
                          end_date=obj.getEndDate())
     db.session.add(event)
     with retry_request_on_conflict():
         db.session.flush()
Ejemplo n.º 3
0
 def initialize(self, items):
     for i, conf in enumerate(items, 1):
         event = IndexedEvent(id=conf.getId(),
                              title=conf.getTitle(),
                              start_date=conf.getStartDate(),
                              end_date=conf.getEndDate())
         db.session.add(event)
         if i % 20000 == 0:
             db.session.commit()
     db.session.commit()
Ejemplo n.º 4
0
    def migrate_legacy_events(self):
        print cformat('%{white!}migrating legacy events')

        # XXX: removed display manager / internal page manager update
        # don't forget to handle them when updating this for 2.0!
        wfr = WebFactoryRegistry()._getConfRegistry()
        for event in self._committing_iterator(self._get_events()):
            if not hasattr(event, '_old_id'):
                new_id = self.gen_event_id()
                event.unindexConf()
                del self.zodb_root['conferences'][event.id]
                wf = wfr.pop(event.id, None)
                event._old_id = event.id
                event.id = new_id
                if wf is not None:
                    wfr[event.id] = wf
                self.zodb_root['conferences'][event.id] = event
                event.indexConf()
                IndexedEvent.find(id=event._old_id).update(
                    {IndexedEvent.id: event.id})
                EventSetting.find(event_id=event._old_id).update(
                    {EventSetting.event_id: event.id})
                EventSettingPrincipal.find(event_id=event._old_id).update(
                    {EventSettingPrincipal.event_id: event.id})
                db.session.add(
                    LegacyEventMapping(legacy_event_id=event._old_id,
                                       event_id=int(event.id)))
                if not self.quiet:
                    self.print_success(cformat('%{cyan}{}').format(event.id),
                                       event_id=event._old_id)
            else:
                # happens if this importer was executed before but you want to add the mapping to your DB again
                db.session.add(
                    LegacyEventMapping(legacy_event_id=event._old_id,
                                       event_id=int(event.id)))
                if not self.quiet:
                    self.print_success(cformat(
                        '%{cyan}{}%{reset} %{yellow}(already updated in zodb)'
                    ).format(event.id),
                                       event_id=event._old_id)
Ejemplo n.º 5
0
    def migrate_legacy_events(self):
        print cformat('%{white!}migrating legacy events')

        dmr = ConfDisplayMgrRegistery()._getDisplayMgrRegistery()
        wfr = WebFactoryRegistry()._getConfRegistry()
        ipmr = InternalPagesMgrRegistery()._getInternalPagesMgrRegistery()
        for event in self._committing_iterator(self._get_events()):
            if not hasattr(event, '_old_id'):
                new_id = self.gen_event_id()
                event.unindexConf()
                del self.zodb_root['conferences'][event.id]
                dm = dmr.pop(event.id, None)
                wf = wfr.pop(event.id, None)
                ipm = ipmr.pop(event.id, None)
                event._old_id = event.id
                event.id = new_id
                if dm is not None:
                    dmr[event.id] = dm
                if wf is not None:
                    wfr[event.id] = wf
                if ipm is not None:
                    ipmr[event.id] = ipm
                self.zodb_root['conferences'][event.id] = event
                event.indexConf()
                IndexedEvent.find(id=event._old_id).update({IndexedEvent.id: event.id})
                EventSetting.find(event_id=event._old_id).update({EventSetting.event_id: event.id})
                EventSettingPrincipal.find(event_id=event._old_id).update({EventSettingPrincipal.event_id: event.id})
                db.session.add(LegacyEventMapping(legacy_event_id=event._old_id, event_id=int(event.id)))
                print cformat('%{green}+++%{reset} '
                              '%{white!}{:6s}%{reset} %{cyan}{}').format(event._old_id, int(event.id))
            else:
                # happens if this importer was executed before but you want to add the mapping to your DB again
                db.session.add(LegacyEventMapping(legacy_event_id=event._old_id, event_id=int(event.id)))
                msg = cformat('%{green}+++%{reset} '
                              '%{white!}{:6s}%{reset} %{cyan}{}%{reset} %{yellow}(already updated in zodb)')
                print msg.format(event._old_id, int(event.id))
Ejemplo n.º 6
0
 def unindex(self, obj):
     IndexedEvent.find(id=obj.getId()).delete()
     db.session.flush()
Ejemplo n.º 7
0
 def unindex(self, obj):
     IndexedEvent.find(id=obj.getId()).delete()
     db.session.flush()