def check_with_akismet(comment=None, request=None, **kwargs): if config_value("PRODUCT", "AKISMET_ENABLE"): key = config_value("PRODUCT", "AKISMET_KEY") if key: site = Site.objects.get_current() shop = urlresolvers.reverse('satchmo_shop_home') from akismet import Akismet akismet = Akismet( key=settings.AKISMET_API_KEY, blog_url='http://%s' % url_join(site.domain, shop)) if akismet.verify_key(): akismet_data = { 'comment_type': 'comment', 'referrer': request.META.get('HTTP_REFERER', ""), 'user_ip': comment.ip_address, 'user_agent': '' } if akismet_api.comment_check(smart_str(comment.comment), data=akismet_data, build_data=True): comment.is_public=False comment.save() log.info("Akismet marked comment #%i as spam", comment.id) else: log.debug("Akismet accepted comment #%i", comment.id) else: log.warn("Akismet key '%s' not accepted by akismet service.", key) else: log.info("Akismet enabled, but no key found. Please put in your admin settings.")
def check_with_akismet(comment=None, request=None, **kwargs): if config_value("PRODUCT", "AKISMET_ENABLE"): key = config_value("PRODUCT", "AKISMET_KEY") if key: site = Site.objects.get_current() shop = urlresolvers.reverse('satchmo_shop_home') from akismet import Akismet akismet = Akismet(key=settings.AKISMET_API_KEY, blog_url='http://%s' % url_join(site.domain, shop)) if akismet.verify_key(): akismet_data = { 'comment_type': 'comment', 'referrer': request.META.get('HTTP_REFERER', ""), 'user_ip': comment.ip_address, 'user_agent': '' } if akismet.comment_check(smart_str(comment.comment), data=akismet_data, build_data=True): comment.is_public = False comment.save() log.info("Akismet marked comment #%i as spam", comment.id) else: log.debug("Akismet accepted comment #%i", comment.id) else: log.warn("Akismet key '%s' not accepted by akismet service.", key) else: log.info( "Akismet enabled, but no key found. Please put in your admin settings." )
def admin_site_views(view): """Returns a formatted list of sites, rendering for view, if any""" if view: path = urlresolvers.reverse(view) else: path = None links = [] for site in Site.objects.all(): paths = ["http://", site.domain] if path: paths.append(path) links.append((site.name, url_join(paths))) ret = { 'links' : links, } return ret
def lookup_url(settings, name, include_server=False, ssl=False): """Look up a named URL for the payment module. Tries a specific-to-general lookup fallback, returning the first positive hit. First look for a dictionary named "URL_OVERRIDES" on the settings object. Next try prepending the module name to the name Last just look up the name """ url = None if settings.has_key('URL_OVERRIDES'): val = settings['URL_OVERRIDES'] url = val.get(name, None) if not url: try: possible = settings.KEY.value + "_" + name url = urlresolvers.reverse(possible) except urlresolvers.NoReverseMatch: log.debug('No url found for %s', possible) if not url: try: url = urlresolvers.reverse(name) except urlresolvers.NoReverseMatch: log.error('Could not find any url for %s', name) raise urlresolvers.NoReverseMatch('No reverse for %s or %s' % (possible, name)) if include_server: if ssl: method = "https://" else: method = "http://" site = Site.objects.get_current() url = url_join(method, site.domain, url) return url