middleware.py 772 B

12345678910111213141516171819202122
  1. from sessions import SessionCrawler, SessionHuman
  2. class SessionMiddleware(object):
  3. def process_request(self, request):
  4. try:
  5. if request.user.is_crawler():
  6. # Crawler Session
  7. request.session = SessionCrawler(request)
  8. except AttributeError:
  9. # Human Session
  10. request.session = SessionHuman(request)
  11. request.user = request.session.get_user()
  12. if request.user.is_authenticated():
  13. request.session.set_hidden(request.user.hide_activity > 0)
  14. def process_response(self, request, response):
  15. try:
  16. request.session.save()
  17. except AttributeError:
  18. pass
  19. return response