diff options
author | luxagraf <sng@luxagraf.net> | 2015-11-17 10:03:13 -0500 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2015-11-17 10:03:13 -0500 |
commit | a42dde014b194e38c6604d33b14c90c211b7e868 (patch) | |
tree | f45b754a360fd2d74be9240cfd7cfeae1b6fd816 /app/jrnl | |
parent | ce2cc9e9fc10021fd8ddb600b5548b3e6d06c5bd (diff) |
Oh just getting ready for some live testing. because, why not?
Diffstat (limited to 'app/jrnl')
-rw-r--r-- | app/jrnl/models.py | 21 |
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): |