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

Parse simple markdowns in warning reasons.

Rafał Pitoń 11 лет назад
Родитель
Сommit
85e78cd7bc
2 измененных файлов с 21 добавлено и 0 удалено
  1. 20 0
      misago/markdown/factory.py
  2. 1 0
      misago/models/warnmodel.py

+ 20 - 0
misago/markdown/factory.py

@@ -22,6 +22,26 @@ def remove_unsupported(md):
     del md.inlinePatterns['short_reference']
 
 
+def basic_markdown(text):
+    md = markdown.Markdown(
+                           safe_mode='escape',
+                           output_format=settings.OUTPUT_FORMAT,
+                           extensions=['nl2br'])
+    remove_unsupported(md)
+    cleanlinks = CleanLinksExtension()
+    cleanlinks.extendMarkdown(md)
+
+    del md.parser.blockprocessors['hashheader']
+    del md.parser.blockprocessors['setextheader']
+    del md.parser.blockprocessors['code']
+    del md.parser.blockprocessors['quote']
+    del md.parser.blockprocessors['hr']
+    del md.parser.blockprocessors['olist']
+    del md.parser.blockprocessors['ulist']
+
+    return md.convert(text)
+
+
 def signature_markdown(acl, text):
     md = markdown.Markdown(
                            safe_mode='escape',

+ 1 - 0
misago/models/warnmodel.py

@@ -11,6 +11,7 @@ class Warn(models.Model):
     ip = models.GenericIPAddressField()
     agent = models.CharField(max_length=255)
     reason = models.TextField(null=True, blank=True)
+    reason_preparsed = models.TextField(null=True, blank=True)
     canceled = models.BooleanField(default=False)
 
     class Meta: