+from akismet import *\r
from base import *\r
from tag import Tag\r
\r
class Node(BaseModel, NodeContent, DeletableContent):\r
__metaclass__ = NodeMetaClass\r
\r
- node_type = models.CharField(max_length=16, default='node')\r
- parent = models.ForeignKey('Node', related_name='children', null=True)\r
- abs_parent = models.ForeignKey('Node', related_name='all_children', null=True)\r
+ node_type = models.CharField(max_length=16, default='node')\r
+ parent = models.ForeignKey('Node', related_name='children', null=True)\r
+ abs_parent = models.ForeignKey('Node', related_name='all_children', null=True)\r
\r
- added_at = models.DateTimeField(default=datetime.datetime.now)\r
+ added_at = models.DateTimeField(default=datetime.datetime.now)\r
\r
- tags = models.ManyToManyField('Tag', related_name='%(class)ss')\r
+ tags = models.ManyToManyField('Tag', related_name='%(class)ss')\r
\r
score = DenormalizedField(default=0)\r
vote_up_count = DenormalizedField(default=0)\r
super(Node, self).save(*args, **kwargs)\r
if tags is not None: self.tags = tags\r
\r
+ @staticmethod\r
+ def isSpam(comment, data):\r
+ api = Akismet()\r
+ if api.key is None:\r
+ print "problem" # raise APIKeyError\r
+ else:\r
+ if api.comment_check(comment, data):\r
+ return True\r
+ else:\r
+ return False\r
+ return data\r
+\r
class Meta:\r
app_label = 'forum'\r
\r