Просмотр исходного кода

Utility for refreshing posts markdown.

Ralfp 12 лет назад
Родитель
Сommit
e130cce25f
1 измененных файлов с 22 добавлено и 0 удалено
  1. 22 0
      misago/management/commands/reparseposts.py

+ 22 - 0
misago/management/commands/reparseposts.py

@@ -0,0 +1,22 @@
+from django.core.management.base import BaseCommand
+from misago.markdown import post_markdown
+from misago.models import Post
+
+class Command(BaseCommand):
+    help = 'Reparse markdown for all forum posts'
+
+    def handle(self, *args, **options):
+        count = 0
+        total = Post.objects.count()
+        last = 0
+
+        self.stdout.write('\nReparsing posts...')
+        for post in Post.objects.iterator():
+            md, post.post_preparsed = post_markdown(post.post)
+            post.save(force_update=True)
+            count += 1
+            progress = (count * 100 / total)
+            if not progress % 10 and progress > last and progress < 100:
+                self.stdout.write('Reparsed %s out of %s posts...' % (count, total))
+                last = progress
+        self.stdout.write('\n%s posts have been reparsed.\n' % count)