Mercurial > public > sg101
view antispam/decorators.py @ 1157:e4f2d6a4b401
Rework S3 connection logic for latest versions of Python 2.7.
Had to make these changes for Ubuntu 16.04. Seems backward compatible
with production.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 19 Jan 2017 18:35:53 -0600 |
parents | 4a49d4ac319f |
children |
line wrap: on
line source
""" This module contains decorators for the antispam application. """ from functools import wraps import logging def log_auth_failures(auth_type): def decorator(fn): logger = logging.getLogger('auth') @wraps(fn) def wrapped(request, *args, **kwargs): response = fn(request, *args, **kwargs) if request.method == 'POST': # Figure out if the view succeeded; success means a redirect is # about to occur. success = (response and response.has_header('location') and response.status_code == 302) if not success: username = request.POST.get('username') username = username if username else '(None)' logger.error("%s failure from [%s] for %s", auth_type, request.META.get('REMOTE_ADDR', '?'), username) return response return wrapped return decorator