123456789101112131415161718 |
- from misago.models import BanCache, Guest
- class BanningMiddleware(object):
- def process_request(self, request):
- if request.heartbeat or request.user.is_crawler():
- return None
-
- try:
- request.ban = request.session['ban']
- except KeyError:
- request.ban = BanCache()
- request.session['ban'] = request.ban
- if not request.firewall.admin:
- request.ban.check_for_updates(request)
- # Make sure banned session is downgraded to guest level
- if request.ban.is_banned():
- request.session.sign_out(request)
|