-from base import *\r
-from django.utils.translation import ugettext as _\r
-import re\r
-\r
-class Comment(Node):\r
- friendly_name = _("comment")\r
-\r
- class Meta(Node.Meta):\r
- ordering = ('-added_at',)\r
- proxy = True\r
-\r
- def _update_parent_comment_count(self, diff):\r
- parent = self.parent\r
- parent.comment_count = parent.comment_count + diff\r
- parent.save()\r
-\r
- @property\r
- def comment(self):\r
- if settings.FORM_ALLOW_MARKDOWN_IN_COMMENTS:\r
- return self.as_markdown('limitedsyntax')\r
- else:\r
- return self.body\r
-\r
- @property\r
- def headline(self):\r
- return self.absolute_parent.headline\r
-\r
- @property\r
- def content_object(self):\r
- return self.parent.leaf\r
-\r
- def save(self, *args, **kwargs):\r
- super(Comment,self).save(*args, **kwargs)\r
-\r
- if not self.id:\r
- self.parent.reset_comment_count_cache()\r
-\r
- def mark_deleted(self, user):\r
- if super(Comment, self).mark_deleted(user):\r
- self.parent.reset_comment_count_cache()\r
-\r
- def unmark_deleted(self):\r
- if super(Comment, self).unmark_deleted():\r
- self.parent.reset_comment_count_cache()\r
-\r
- def is_reply_to(self, user):\r
- inreply = re.search('@\w+', self.body)\r
- if inreply is not None:\r
- return user.username.startswith(inreply.group(0))\r
-\r
- return False\r
-\r
- def get_absolute_url(self):\r
- return self.absolute_parent.get_absolute_url() + "#%d" % self.id\r
-\r
- def __unicode__(self):\r
- return self.body\r
-\r
+from base import *
+from django.utils.translation import ugettext as _
+import re
+
+class Comment(Node):
+ friendly_name = _("comment")
+
+ class Meta(Node.Meta):
+ ordering = ('-added_at',)
+ proxy = True
+
+ def _update_parent_comment_count(self, diff):
+ parent = self.parent
+ parent.comment_count = parent.comment_count + diff
+ parent.save()
+
+ @property
+ def comment(self):
+ if settings.FORM_ALLOW_MARKDOWN_IN_COMMENTS:
+ # Avoid doing double replacement of backslashes
+ return self._as_markdown_raw(self.body,'limitedsyntax')
+ else:
+ return self.body
+
+ @property
+ def headline(self):
+ return self.absolute_parent.headline
+
+ @property
+ def content_object(self):
+ return self.parent.leaf
+
+ def save(self, *args, **kwargs):
+ super(Comment,self).save(*args, **kwargs)
+
+ if not self.id:
+ self.parent.reset_comment_count_cache()
+
+ def mark_deleted(self, user):
+ if super(Comment, self).mark_deleted(user):
+ self.parent.reset_comment_count_cache()
+
+ def unmark_deleted(self):
+ if super(Comment, self).unmark_deleted():
+ self.parent.reset_comment_count_cache()
+
+ def is_reply_to(self, user):
+ inreply = re.search('@\w+', self.body)
+ if inreply is not None:
+ return user.username.startswith(inreply.group(0))
+
+ return False
+
+ def get_absolute_url(self):
+ return self.abs_parent.get_absolute_url() + "#%d" % self.id
+
+ def __unicode__(self):
+ return self.body
+