__init__.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from __future__ import unicode_literals
  2. from django.utils.crypto import get_random_string
  3. from misago.core.pgutils import batch_update
  4. from misago.markup import common_flavour
  5. from misago.threads.checksums import update_post_checksum
  6. from misago.threads.models import Post
  7. from .attachments import update_attachments_urls
  8. from .quotes import convert_quotes_to_bbcode
  9. def clean_posts():
  10. for post in batch_update(Post.objects):
  11. post.original = clean_original(post.original)
  12. parsed_post = common_flavour(FakeRequest(), FakeUser(), post.original)
  13. post.parsed = parsed_post['parsed_text']
  14. update_post_checksum(post)
  15. post.save()
  16. def clean_original(post):
  17. post = convert_quotes_to_bbcode(post)
  18. post = update_attachments_urls(post)
  19. return post
  20. """
  21. Fake request and user for parser
  22. """
  23. class FakeUser(object):
  24. slug = get_random_string(40)
  25. class FakeRequest(object):
  26. scheme = 'http'
  27. user = FakeUser()
  28. def get_host(self):
  29. return '{}.com'.format(get_random_string(40))