annotate gpp/forums/management/commands/forum_cleanup.py @ 467:b910cc1460c8

Add the ability to conditionally add model instances to the search index on update. This is not perfect, as some instances should be deleted from the index if they are updated such that they should not be in the index anymore. Will think about and address that later.
author Brian Neal <bgneal@gmail.com>
date Sun, 24 Jul 2011 18:12:20 +0000
parents 7e19180b128d
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()