Mercurial > public > sg101
annotate gpp/forums/management/commands/forum_cleanup.py @ 307:7e19180b128d
Fixing #97; adding a management command to remove old forum and topic last visit records.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 16 Jan 2011 20:18:26 +0000 |
parents | |
children |
rev | line source |
---|---|
bgneal@307 | 1 """ |
bgneal@307 | 2 forum_cleanup.py - A management command to cleanup forum model objects. Right |
bgneal@307 | 3 now this entails deleting old forum and topic last visit records. |
bgneal@307 | 4 |
bgneal@307 | 5 """ |
bgneal@307 | 6 import datetime |
bgneal@307 | 7 |
bgneal@307 | 8 from django.core.management.base import NoArgsCommand, CommandError |
bgneal@307 | 9 |
bgneal@307 | 10 from forums.models import ForumLastVisit, TopicLastVisit |
bgneal@307 | 11 import forums.unread |
bgneal@307 | 12 |
bgneal@307 | 13 |
bgneal@307 | 14 class Command(NoArgsCommand): |
bgneal@307 | 15 help = "This command deletes old forum and topic last visit records." |
bgneal@307 | 16 |
bgneal@307 | 17 def handle_noargs(self, **opts): |
bgneal@307 | 18 |
bgneal@307 | 19 now = datetime.datetime.now() |
bgneal@307 | 20 threshold = now - forums.unread.THRESHOLD * 2 |
bgneal@307 | 21 |
bgneal@307 | 22 # delete old topic last visit records |
bgneal@307 | 23 TopicLastVisit.objects.filter(last_visit__lt=threshold).delete() |
bgneal@307 | 24 |
bgneal@307 | 25 # delete old forum visit records |
bgneal@307 | 26 ForumLastVisit.objects.filter(end_date__lt=threshold).delete() |