Skip to content

Commit

Permalink
added management command
Browse files Browse the repository at this point in the history
  • Loading branch information
kencochrane committed Mar 20, 2015
1 parent 47d6a71 commit 8ef0420
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 0 deletions.
Empty file added defender/management/__init__.py
Empty file.
Empty file.
33 changes: 33 additions & 0 deletions defender/management/commands/cleanup_django_axes.py
Original file line number Diff line number Diff line change
@@ -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)
)

0 comments on commit 8ef0420

Please sign in to comment.