Mercurial > public > sg101
annotate gpp/core/management/commands/clean_last_visit.py @ 390:e0523e17ea43
Fixing #175; add an auto-subscribe and auto-favorite forum topic feature. Added 2 flags to the user profile. Added 2 functions that are called on the post post-save signal that auto-favorite and auto-subscribe the post creator if they have requested this service.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 21 Mar 2011 00:39:52 +0000 |
parents | c5ae0a276e33 |
children |
rev | line source |
---|---|
bgneal@362 | 1 """ |
bgneal@362 | 2 clean_last_visit is a custom manage.py command. |
bgneal@362 | 3 It is intended to be called from a cron job to clean out old user and anonymous |
bgneal@362 | 4 last visit records. |
bgneal@362 | 5 |
bgneal@362 | 6 """ |
bgneal@362 | 7 import datetime |
bgneal@362 | 8 |
bgneal@362 | 9 from django.core.management.base import NoArgsCommand |
bgneal@362 | 10 |
bgneal@362 | 11 from core.models import UserLastVisit, AnonLastVisit |
bgneal@362 | 12 |
bgneal@362 | 13 USER_LV_AGE = datetime.timedelta(weeks=4) |
bgneal@362 | 14 ANON_LV_AGE = datetime.timedelta(days=1) |
bgneal@362 | 15 |
bgneal@362 | 16 |
bgneal@362 | 17 class Command(NoArgsCommand): |
bgneal@362 | 18 help = "Run periodically to clean out old last visit records." |
bgneal@362 | 19 |
bgneal@362 | 20 def handle_noargs(self, **options): |
bgneal@362 | 21 |
bgneal@362 | 22 now = datetime.datetime.now() |
bgneal@362 | 23 user_cut_off = now - USER_LV_AGE |
bgneal@362 | 24 anon_cut_off = now - ANON_LV_AGE |
bgneal@362 | 25 |
bgneal@362 | 26 UserLastVisit.objects.filter(last_visit__lte=user_cut_off).delete() |
bgneal@362 | 27 AnonLastVisit.objects.filter(last_visit__lte=anon_cut_off).delete() |