Server IP : 85.214.239.14 / Your IP : 216.73.216.26 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/modoboa/env/lib/python3.5/site-packages/modoboa/core/management/commands/ |
Upload File : |
import datetime import logging from django.core.management.base import BaseCommand from django.utils import timezone from modoboa.core.models import Log from modoboa.parameters import tools as param_tools class Command(BaseCommand): """Command class.""" help = "Log table cleanup" # NOQA:A003 def add_arguments(self, parser): """Add extra arguments to command line.""" parser.add_argument( "--debug", action="store_true", default=False, help="Activate debug output") parser.add_argument( "--verbose", action="store_true", default=False, help="Display informational messages") def __vprint(self, msg): if not self.verbose: return print(msg) def handle(self, *args, **options): if options["debug"]: log = logging.getLogger("django.db.backends") log.setLevel(logging.DEBUG) log.addHandler(logging.StreamHandler()) self.verbose = options["verbose"] log_maximum_age = param_tools.get_global_parameter("log_maximum_age") self.__vprint("Deleting logs older than %d days..." % log_maximum_age) limit = timezone.now() - datetime.timedelta(log_maximum_age) Log.objects.filter(date_created__lt=limit).delete() self.__vprint("Done.")