Beispiel #1
0
    def _handle(self, *args, **options):
        self.verbosity = int(options.get('verbosity'))
        self.interactive = options.get('interactive')

        only_users = options.get("only_users", False)
        flush_djangobb = options.get("flush_djangobb", False)
        if flush_djangobb:
            self._flush_djangobb()
            return

        self.max_entries = options.get("max_entries")
        if self.max_entries:
            self.warn("Migrate with max entries: %i !\n" % self.max_entries)

        self.check_attachment_path()
        self.check_models()

        # disable DjangoBB signals for speedup
        post_save.disconnect(djangobb_signals.post_saved,
                             sender=Post,
                             dispatch_uid='djangobb_post_save')
        post_save.disconnect(djangobb_signals.topic_saved,
                             sender=Topic,
                             dispatch_uid='djangobb_topic_save')

        # Speedup migration by disable haystack search index creation.
        site.unregister(Post)

        #disable_auto_fields(Forum)
        disable_auto_fields(Topic)
        disable_auto_fields(Post)

        cleanup_users = int(options.get("cleanup_users"))
        moderator_groups = phpbb_Group.objects.filter(
            name__in=["ADMINISTRATORS", "GLOBAL_MODERATORS"])
        user_dict, moderators = self.migrate_users(cleanup_users,
                                                   moderator_groups)
        if only_users:
            self.out(u"\nmigrate only users done.\n")
            return

        forum_dict = self.migrate_forums(moderators)

        self.migrate_topic(user_dict, forum_dict)
        self.migrate_posts(user_dict)

        # needed if signals disabled, see above
        self.update_topic_stats()
        self.update_forum_stats()

        self.out(u"\nmigration done.\n")
    def _handle(self, *args, **options):
        self.verbosity = int(options.get('verbosity'))
        self.interactive = options.get('interactive')

        only_users = options.get("only_users", False)
        flush_djangobb = options.get("flush_djangobb", False)
        if flush_djangobb:
            self._flush_djangobb()
            return

        self.max_entries = options.get("max_entries")
        if self.max_entries:
            self.warn("Migrate with max entries: %i !\n" % self.max_entries)

        self.check_attachment_path()
        self.check_models()

        # disable DjangoBB signals for speedup
        post_save.disconnect(djangobb_signals.post_saved, sender=Post, dispatch_uid='djangobb_post_save')
        post_save.disconnect(djangobb_signals.topic_saved, sender=Topic, dispatch_uid='djangobb_topic_save')

        # Speedup migration by disable haystack search index creation.
        site.unregister(Post)

        #disable_auto_fields(Forum)
        disable_auto_fields(Topic)
        disable_auto_fields(Post)

        cleanup_users = int(options.get("cleanup_users"))
        moderator_groups = phpbb_Group.objects.filter(
            name__in=["ADMINISTRATORS", "GLOBAL_MODERATORS"]
        )
        user_dict, moderators = self.migrate_users(cleanup_users, moderator_groups)
        if only_users:
            self.out(u"\nmigrate only users done.\n")
            return

        forum_dict = self.migrate_forums(moderators)

        self.migrate_topic(user_dict, forum_dict)
        self.migrate_posts(user_dict)

        # needed if signals disabled, see above
        self.update_topic_stats()
        self.update_forum_stats()

        self.out(u"\nmigration done.\n")
Beispiel #3
0
 def test_registrations(self):
     from haystack import backend
     sb = backend.SearchBackend()
     self.assertEqual(len(sb.site.get_indexed_models()), 2)
     
     from haystack import site
     self.assertEqual(len(site.get_indexed_models()), 2)
     
     from site_registration.models import Foo, Bar
     site.unregister(Bar)
     
     self.assertEqual(len(sb.site.get_indexed_models()), 1)
     self.assertEqual(len(site.get_indexed_models()), 1)
     
     site.unregister(Foo)
     
     self.assertEqual(len(sb.site.get_indexed_models()), 0)
     self.assertEqual(len(site.get_indexed_models()), 0)