mirror of
https://github.com/jazzband/django-defender.git
synced 2026-03-16 22:10:32 +00:00
added management command
This commit is contained in:
parent
47d6a71825
commit
8ef0420b23
3 changed files with 33 additions and 0 deletions
0
defender/management/__init__.py
Normal file
0
defender/management/__init__.py
Normal file
0
defender/management/commands/__init__.py
Normal file
0
defender/management/commands/__init__.py
Normal file
33
defender/management/commands/cleanup_django_axes.py
Normal file
33
defender/management/commands/cleanup_django_axes.py
Normal 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)
|
||||
)
|
||||
Loading…
Reference in a new issue