751e220e703adb0e176cc4c5e2628a63ec49a3ab
[django-cas-provider.git] / cas_provider / management / commands / cleanuptickets.py
1 """
2 A management command which deletes expired service tickets (e.g.,
3 from the database.
4
5 Calls ``ServiceTickets.objects.delete_expired_users()``, which
6 contains the actual logic for determining which accounts are deleted.
7
8 """
9
10 from django.core.management.base import NoArgsCommand
11 from django.core.management.base import CommandError
12 from django.conf import settings
13
14 import datetime
15
16 from cas_provider.models import ServiceTicket
17
18 class Command(NoArgsCommand):
19     help = "Delete expired service tickets from the database"
20
21     def handle_noargs(self, **options):
22         tickets = ServiceTicket.objects.all()
23         for ticket in tickets:
24             expiration = datetime.timedelta(minutes=settings.CAS_TICKET_EXPIRATION)
25             if datetime.datetime.now() > ticket.created + expiration:
26                 print "Deleting %s..." % ticket.ticket
27                 ticket.delete()
28             else:
29                 print "%s not expired..." % ticket.ticket