From 81bcd47ab0827c7ff48bd9dd0503ed015b080076 Mon Sep 17 00:00:00 2001 From: Jan-Jelle Kester Date: Wed, 27 Jul 2016 18:17:59 +0200 Subject: [PATCH] Add management command for deleting all log entries Issue #57 --- src/auditlog/management/__init__.py | 0 src/auditlog/management/commands/__init__.py | 0 .../management/commands/auditlogflush.py | 20 +++++++++++++++++++ src/auditlog_tests/manage.py | 10 ++++++++++ 4 files changed, 30 insertions(+) create mode 100644 src/auditlog/management/__init__.py create mode 100644 src/auditlog/management/commands/__init__.py create mode 100644 src/auditlog/management/commands/auditlogflush.py create mode 100644 src/auditlog_tests/manage.py diff --git a/src/auditlog/management/__init__.py b/src/auditlog/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/auditlog/management/commands/__init__.py b/src/auditlog/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/auditlog/management/commands/auditlogflush.py b/src/auditlog/management/commands/auditlogflush.py new file mode 100644 index 0000000..e7b1f73 --- /dev/null +++ b/src/auditlog/management/commands/auditlogflush.py @@ -0,0 +1,20 @@ +from django.core.management.base import NoArgsCommand +from six import moves + +from auditlog.models import LogEntry + + +class Command(NoArgsCommand): + help = 'Deletes all log entries from the database.' + + def handle_noargs(self, **options): + answer = None + + while answer not in ['', 'y', 'n']: + answer = moves.input("Are you sure? [y/N]: ").lower().strip() + + if answer == 'y': + count = LogEntry.objects.all().count() + LogEntry.objects.all().delete() + + print("Deleted %d objects." % count) diff --git a/src/auditlog_tests/manage.py b/src/auditlog_tests/manage.py new file mode 100644 index 0000000..48371db --- /dev/null +++ b/src/auditlog_tests/manage.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "auditlog_tests.test_settings") + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv)