]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/models/node.py
Wraps the markdowner call with a try except block, and logs the possible errors.
[osqa.git] / forum / models / node.py
index a8c674c3b0787db6209225e76b107afe6f4048ad..6d8a4834f3a6a5a244a65dae748173fb26a09775 100644 (file)
@@ -25,7 +25,13 @@ class NodeContent(models.Model):
 
     @classmethod
     def _as_markdown(cls, content, *extensions):
 
     @classmethod
     def _as_markdown(cls, content, *extensions):
-        return mark_safe(sanitize_html(markdown.markdown(content, extensions=extensions)))
+        try:
+            return mark_safe(sanitize_html(markdown.markdown(content, extensions=extensions)))
+        except Exception, e:
+            import traceback
+            logging.error("Caught exception %s in markdown parser rendering %s %s:\s %s" % (
+                str(e), cls.__name__, str(e), traceback.format_exc()))
+            return ''
 
     def as_markdown(self, *extensions):
         return self._as_markdown(self.body, *extensions)
 
     def as_markdown(self, *extensions):
         return self._as_markdown(self.body, *extensions)