synchronizeforums.py 817 B

12345678910111213141516171819202122232425262728
  1. from django.core.management.base import BaseCommand
  2. from misago.core.management.progressbar import show_progress
  3. from misago.forums.models import Forum
  4. class Command(BaseCommand):
  5. help = 'Synchronizes forums'
  6. def handle(self, *args, **options):
  7. forums_to_sync = Forum.objects.count()
  8. message = 'Synchronizing %s forums...\n'
  9. self.stdout.write(message % forums_to_sync)
  10. message = '\n\nSynchronized %s forums'
  11. synchronized_count = 0
  12. show_progress(self, synchronized_count, forums_to_sync)
  13. for forum in Forum.objects.iterator():
  14. forum.synchronize()
  15. forum.save()
  16. synchronized_count += 1
  17. show_progress(self, synchronized_count, forums_to_sync)
  18. self.stdout.write(message % synchronized_count)