X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/ef5d85cc1eae72ca48add569d84e9e75b7b92758..b97cf4924e1f43e7cf92bfc807a8e3dec1a2eec1:/forum/models/node.py diff --git a/forum/models/node.py b/forum/models/node.py index 00cbbd0..a92dee9 100644 --- a/forum/models/node.py +++ b/forum/models/node.py @@ -1,3 +1,4 @@ +from akismet import * from base import * from tag import Tag @@ -82,13 +83,13 @@ node_edit = django.dispatch.Signal(providing_args=['instance']) class Node(BaseModel, NodeContent, DeletableContent): __metaclass__ = NodeMetaClass - node_type = models.CharField(max_length=16, default='node') - parent = models.ForeignKey('Node', related_name='children', null=True) - abs_parent = models.ForeignKey('Node', related_name='all_children', null=True) + node_type = models.CharField(max_length=16, default='node') + parent = models.ForeignKey('Node', related_name='children', null=True) + abs_parent = models.ForeignKey('Node', related_name='all_children', null=True) - added_at = models.DateTimeField(default=datetime.datetime.now) + added_at = models.DateTimeField(default=datetime.datetime.now) - tags = models.ManyToManyField('Tag', related_name='%(class)ss') + tags = models.ManyToManyField('Tag', related_name='%(class)ss') score = DenormalizedField(default=0) vote_up_count = DenormalizedField(default=0) @@ -201,6 +202,18 @@ class Node(BaseModel, NodeContent, DeletableContent): super(Node, self).save(*args, **kwargs) if tags is not None: self.tags = tags + @staticmethod + def isSpam(comment, data): + api = Akismet() + if api.key is None: + print "problem" # raise APIKeyError + else: + if api.comment_check(comment, data): + return True + else: + return False + return data + class Meta: app_label = 'forum'