annotate gpp/forums/management/commands/forum_cleanup.py @ 505:a5d11471d031

Refactor the logic in the rate limiter decorator. Check to see if the request was ajax, as the ajax view always returns 200. Have to decode the JSON response to see if an error occurred or not.
author Brian Neal <bgneal@gmail.com>
date Sat, 03 Dec 2011 19:13:38 +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()