flavours.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from .parser import parse
  2. def common(request, poster, text, allow_mentions=True, force_shva=False):
  3. """
  4. Common flavour
  5. Used in places where full Misago flavour is desired
  6. Breaks text into paragraphs, supports code, spoiler and quote blocks,
  7. headers, lists, images, spoilers, text styles
  8. Returns dict object
  9. """
  10. return parse(
  11. text, request, poster, allow_mentions=allow_mentions, force_shva=force_shva
  12. )
  13. def limited(request, text):
  14. """
  15. Limited flavour
  16. Breaks text in paragraphs, supports strong, em, i, u, b,
  17. automatically linkifies links.
  18. Returns parsed text
  19. """
  20. result = parse(
  21. text,
  22. request,
  23. request.user,
  24. allow_mentions=False,
  25. allow_links=True,
  26. allow_images=False,
  27. allow_blocks=False,
  28. )
  29. return result["parsed_text"]
  30. def signature(request, owner, user_acl, text):
  31. result = parse(
  32. text,
  33. request,
  34. owner,
  35. allow_mentions=False,
  36. allow_blocks=user_acl["allow_signature_blocks"],
  37. allow_links=user_acl["allow_signature_links"],
  38. allow_images=user_acl["allow_signature_images"],
  39. )
  40. return result["parsed_text"]