added management command

This commit is contained in:
Ken Cochrane 2015-03-20 10:10:07 -04:00
parent 47d6a71825
commit 8ef0420b23
3 changed files with 33 additions and 0 deletions

View file

View file

View file

@ -0,0 +1,33 @@
from datetime import timedelta
from django.core.management.base import BaseCommand
from django.utils import timezone
from ...models import AccessAttempt
from ... import config
class Command(BaseCommand):
help = "Cleans up django-defender AccessAttempt table"
def handle(self, **options):
"""
Removes any entries in the AccessAttempt that are older
than your DEFENDER_ACCESS_ATTEMPT_EXPIRATION config, default 24 HOURS.
"""
print("Starting clean up of django-defender table")
now = timezone.now()
cleanup_delta = timedelta(hours=config.ACCESS_ATTEMPT_EXPIRATION)
min_attempt_time = now - cleanup_delta
attempts_to_clean = AccessAttempt.objects.filter(
attempt_time__lt=min_attempt_time,
)
attempts_to_clean_count = attempts_to_clean.count()
attempts_to_clean.delete()
print(
"Finished. Removed {0} AccessAttempt entries.".format(
attempts_to_clean_count)
)