1
from django.conf import settings
2
from django.core.management.base import BaseCommand
3
from license_protected_downloads.models import (
10
logging.getLogger().setLevel(logging.INFO)
13
class Command(BaseCommand):
15
def add_arguments(parser):
16
parser.add_argument('--dryrun', action='store_true',
17
help='Do not perform any actions, just report')
18
parser.add_argument('--deletedays', default=30,
19
help='Number of days to delete files for good')
23
date = datetime.datetime.now() - datetime.timedelta(days=days)
24
return date.isoformat()
26
def handle(self, *args, **options):
27
now_delete = self.x_days_ago(int(options['deletedays']))
28
keys = APIToken.objects.filter(expires__lte=now_delete).delete()
31
logging.info('DRYRUN: DELETE %s, EXPIRE: %s', key.token, key.expires)
33
APIToken.objects.filter(expires__lte=now_delete).delete()
34
APILog.objects.filter(timestamp__lte=now_delete).delete()