From: Guillaume Pellerin Date: Fri, 12 Jul 2024 09:18:22 +0000 (+0200) Subject: delete script by year command X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=f0fe02f7e01d343970f5e45fa8d8af88d8d3f60b;p=teleforma.git delete script by year command --- diff --git a/teleforma/management/commands/teleforma-delete-year-scripts.py b/teleforma/management/commands/teleforma-delete-year-scripts.py new file mode 100644 index 00000000..eb7be414 --- /dev/null +++ b/teleforma/management/commands/teleforma-delete-year-scripts.py @@ -0,0 +1,26 @@ +import os +import datetime +from optparse import make_option +from django.conf import settings +from django.core.management.base import BaseCommand, CommandError +from django.contrib.auth.models import User +from django.template.defaultfilters import slugify +from teleforma.exam.models import Script + + +class Command(BaseCommand): + help = "Delete all exam scripts older than a given year" + args = "year" + admin_email = 'webmaster@parisson.com' + + def add_arguments(self, parser): + parser.add_argument('args', nargs='*') + + def handle(self, *args, **options): + year = int(args[0]) + date = datetime.datetime(day=31, month=12, year=year) + scripts = Script.objects.filter(date_added__lte=date) + for script in scripts: + os.remove(script.file.path) + script.delete() + \ No newline at end of file