2010-06-30 13:36:51 -04:00
|
|
|
import datetime
|
2010-08-16 15:45:35 -04:00
|
|
|
from utils import log as logging
|
2011-01-17 14:20:36 -05:00
|
|
|
from django.conf import settings
|
2010-06-30 13:36:51 -04:00
|
|
|
|
|
|
|
class LastSeenMiddleware(object):
|
|
|
|
|
|
|
|
def process_response(self, request, response):
|
2011-04-15 11:34:41 -04:00
|
|
|
if ((request.path in ('/', '/reader/refresh_feeds'))
|
2010-06-30 14:09:16 -04:00
|
|
|
and hasattr(request, 'user')
|
|
|
|
and request.user.is_authenticated()):
|
2010-10-10 23:55:00 -04:00
|
|
|
hour_ago = datetime.datetime.utcnow() - datetime.timedelta(minutes=60)
|
2011-01-17 14:20:36 -05:00
|
|
|
SUBSCRIBER_EXPIRE = datetime.datetime.utcnow() - datetime.timedelta(days=settings.SUBSCRIBER_EXPIRE)
|
2010-07-21 23:26:26 -04:00
|
|
|
if request.user.profile.last_seen_on < hour_ago:
|
2011-02-23 13:46:47 -05:00
|
|
|
logging.user(request.user, "~FG~BBRepeat visitor: ~SB%s" % (request.user.profile.last_seen_on))
|
2011-05-07 12:06:51 -04:00
|
|
|
# if request.user.profile.last_seen_on < SUBSCRIBER_EXPIRE:
|
|
|
|
# request.user.profile.refresh_stale_feeds()
|
2010-10-10 23:55:00 -04:00
|
|
|
request.user.profile.last_seen_on = datetime.datetime.utcnow()
|
2010-06-30 14:09:16 -04:00
|
|
|
request.user.profile.last_seen_ip = request.META['REMOTE_ADDR']
|
2010-06-30 13:36:51 -04:00
|
|
|
request.user.profile.save()
|
|
|
|
|
|
|
|
return response
|