view forums/management/commands/forum_cleanup.py @ 684:161b56849114

For Django 1.5: management commands should use self.stdout, etc. for output. Note that I did not update the legacy commands since it is likely I will never run or test these commands again.
author Brian Neal <bgneal@gmail.com>
date Fri, 23 Aug 2013 19:17:40 -0500
parents f3fded5df64b
children
line wrap: on
line source
"""
forum_cleanup.py - A management command to cleanup forum model objects. Right
now this entails deleting old forum and topic last visit records.

"""
import datetime

from django.core.management.base import NoArgsCommand

from forums.models import ForumLastVisit, TopicLastVisit
import forums.unread


class Command(NoArgsCommand):
    help = "This command deletes old forum and topic last visit records."

    def handle_noargs(self, **opts):

        now = datetime.datetime.now()
        threshold = now - forums.unread.THRESHOLD * 2

        # delete old topic last visit records
        TopicLastVisit.objects.filter(last_visit__lt=threshold).delete()

        # delete old forum visit records
        ForumLastVisit.objects.filter(end_date__lt=threshold).delete()