summaryrefslogtreecommitdiff
path: root/app/jrnl
diff options
context:
space:
mode:
authorluxagraf <sng@luxagraf.net>2015-11-17 10:03:13 -0500
committerluxagraf <sng@luxagraf.net>2015-11-17 10:03:13 -0500
commita42dde014b194e38c6604d33b14c90c211b7e868 (patch)
treef45b754a360fd2d74be9240cfd7cfeae1b6fd816 /app/jrnl
parentce2cc9e9fc10021fd8ddb600b5548b3e6d06c5bd (diff)
Oh just getting ready for some live testing. because, why not?
Diffstat (limited to 'app/jrnl')
-rw-r--r--app/jrnl/models.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/jrnl/models.py b/app/jrnl/models.py
index 0deb8d3..5290e37 100644
--- a/app/jrnl/models.py
+++ b/app/jrnl/models.py
@@ -221,6 +221,27 @@ class EntryModerator(CommentModerator):
moderator.register(Entry, EntryModerator)
+from django_comments.signals import comment_will_be_posted
+from django_comments import akismet
+
+
+@receiver(comment_will_be_posted, sender=Comment)
+def spam_check(sender, comment, request, **kwargs):
+ akismet.USERAGENT = "David Lynch's Python library/1.0"
+
+ try:
+ real_key = akismet.verify_key(settings.AKISMET_KEY, "https://luxagraf.net/")
+ if real_key:
+ is_spam = akismet.comment_check(settings.AKISMET_KEY, "https://luxagraf.net/", request.META['REMOTE_ADDR'], request.META['HTTP_USER_AGENT'], comment_content=comment.comment)
+ if is_spam:
+ return False
+ else:
+ return True
+ except akismet.AkismetError as e:
+ print('Something went wrong, allowing comment')
+ print(e.response, e.statuscode)
+ return True
+
@receiver(comment_was_posted, sender=Comment)
def cache_gravatar(sender, comment, **kwargs):