2 A management command which deletes expired service tickets (e.g.,
 
   5 Calls ``ServiceTickets.objects.delete_expired_users()``, which
 
   6 contains the actual logic for determining which accounts are deleted.
 
   9 from __future__ import print_function
 
  11 from django.core.management.base import NoArgsCommand
 
  12 from django.conf import settings
 
  16 from cas_provider.models import ServiceTicket, LoginTicket
 
  18 class Command(NoArgsCommand):
 
  19     help = "Delete expired service tickets from the database"
 
  21     def handle_noargs(self, **options):
 
  22         print("Service tickets:")
 
  23         tickets = ServiceTicket.objects.all()
 
  24         for ticket in tickets:
 
  25             expiration = datetime.timedelta(minutes=settings.CAS_TICKET_EXPIRATION)
 
  26             if datetime.datetime.now() > ticket.created + expiration:
 
  27                 print("Deleting %s..." % ticket.ticket)
 
  30                 print("%s not expired..." % ticket.ticket)
 
  31         tickets = LoginTicket.objects.all()
 
  32         print("Login tickets:")
 
  33         for ticket in tickets:
 
  34             expiration = datetime.timedelta(minutes=settings.CAS_TICKET_EXPIRATION)
 
  35             if datetime.datetime.now() > ticket.created + expiration:
 
  36                 print("Deleting %s..." % ticket.ticket)
 
  39                 print("%s not expired..." % ticket.ticket)