middleware.py 900 B

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