def text_is_spam(text, request): # Based on a blog post by 'sciyoshi': # http://sciyoshi.com/blog/2008/aug/27/using-akismet-djangos-new-comments-framework/ # This will return 'True' is the given text is deemed to be spam, or # False if it is not spam. If it cannot be checked for some reason, we # assume it isn't spam. from django.contrib.sites.models import Site try: from helpdesk.akismet import Akismet except: return False from helpdesk import settings as helpdesk_settings http_protocol = helpdesk_settings.HELPDESK_DEFAULT_HTTP_PROTOCOL try: site = Site.objects.get_current() except: site = Site(domain='configure-django-sites.com') ak = Akismet( blog_url='%s://%s/' % (http_protocol, site.domain), agent='django-helpdesk', ) if hasattr(settings, 'TYPEPAD_ANTISPAM_API_KEY'): ak.setAPIKey(key=settings.TYPEPAD_ANTISPAM_API_KEY) ak.baseurl = 'api.antispam.typepad.com/1.1/' elif hasattr(settings, 'AKISMET_API_KEY'): ak.setAPIKey(key=settings.AKISMET_API_KEY) else: return False if ak.verify_key(): ak_data = { 'user_ip': request.META.get('REMOTE_ADDR', '127.0.0.1'), 'user_agent': request.META.get('HTTP_USER_AGENT', ''), 'referrer': request.META.get('HTTP_REFERER', ''), 'comment_type': 'comment', 'comment_author': '', } return ak.comment_check(smart_text(text), data=ak_data) return False
def text_is_spam(text, request): # Based on a blog post by 'sciyoshi': # http://sciyoshi.com/blog/2008/aug/27/using-akismet-djangos-new-comments-framework/ # This will return 'True' is the given text is deemed to be spam, or # False if it is not spam. If it cannot be checked for some reason, we # assume it isn't spam. from django.contrib.sites.models import Site from django.conf import settings try: from helpdesk.akismet import Akismet except: return False try: site = Site.objects.get_current() except: site = Site(domain='configure-django-sites.com') ak = Akismet( blog_url='http://%s/' % site.domain, agent='django-helpdesk', ) if hasattr(settings, 'TYPEPAD_ANTISPAM_API_KEY'): ak.setAPIKey(key = settings.TYPEPAD_ANTISPAM_API_KEY) ak.baseurl = 'api.antispam.typepad.com/1.1/' elif hasattr(settings, 'AKISMET_API_KEY'): ak.setAPIKey(key = settings.AKISMET_API_KEY) else: return False if ak.verify_key(): ak_data = { 'user_ip': request.META.get('REMOTE_ADDR', '127.0.0.1'), 'user_agent': request.META.get('HTTP_USER_AGENT', ''), 'referrer': request.META.get('HTTP_REFERER', ''), 'comment_type': 'comment', 'comment_author': '', } return ak.comment_check(smart_str(text), data=ak_data) return False
def text_is_spam(text, request): # Based on a blog post by 'sciyoshi': # http://sciyoshi.com/blog/2008/aug/27/using-akismet-djangos-new-comments-framework/ # This will return 'True' is the given text is deemed to be spam, or # False if it is not spam. If it cannot be checked for some reason, we # assume it isn't spam. from django.contrib.sites.models import Site from django.core.exceptions import ImproperlyConfigured try: from helpdesk.akismet import Akismet except ImportError: return False try: site = Site.objects.get_current() except ImproperlyConfigured: site = Site(domain="configure-django-sites.com") ak = Akismet(blog_url="http://%s/" % site.domain, agent="django-helpdesk") if hasattr(settings, "TYPEPAD_ANTISPAM_API_KEY"): ak.setAPIKey(key=settings.TYPEPAD_ANTISPAM_API_KEY) ak.baseurl = "api.antispam.typepad.com/1.1/" elif hasattr(settings, "AKISMET_API_KEY"): ak.setAPIKey(key=settings.AKISMET_API_KEY) else: return False if ak.verify_key(): ak_data = { "user_ip": request.META.get("REMOTE_ADDR", "127.0.0.1"), "user_agent": request.META.get("HTTP_USER_AGENT", ""), "referrer": request.META.get("HTTP_REFERER", ""), "comment_type": "comment", "comment_author": "", } return ak.comment_check(smart_text(text), data=ak_data) return False
def text_is_spam(text, request): # Based on a blog post by 'sciyoshi': # http://sciyoshi.com/blog/2008/aug/27/using-akismet-djangos-new-comments-framework/ # This will return 'True' is the given text is deemed to be spam, or # False if it is not spam. If it cannot be checked for some reason, we # assume it isn't spam. from django.contrib.sites.models import Site from django.conf import settings try: from helpdesk.akismet import Akismet except: return False ak = Akismet( blog_url='http://%s/' % Site.objects.get(pk=settings.SITE_ID).domain, agent='Jutda Helpdesk', ) if hasattr(settings, 'TYPEPAD_ANTISPAM_API_KEY'): ak.setAPIKey(key=settings.TYPEPAD_ANTISPAM_API_KEY) ak.baseurl = 'api.antispam.typepad.com/1.1/' elif hasattr(settings, 'AKISMET_API_KEY'): ak.setAPIKey(key=settings.AKISMET_API_KEY) else: return False if ak.verify_key(): ak_data = { 'user_ip': request.META.get('REMOTE_ADDR', '127.0.0.1'), 'user_agent': request.META.get('HTTP_USER_AGENT', ''), 'referrer': request.META.get('HTTP_REFERER', ''), 'comment_type': 'comment', 'comment_author': '', } return ak.comment_check(text, data=ak_data) return False