From: Guillaume Pellerin Date: Mon, 11 Nov 2013 14:33:03 +0000 (+0100) Subject: add conf delete script X-Git-Tag: 2.8.1-ae~109 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=fc74eb29754f48cc9481f40383d64ad9d94a9b11;p=teleforma.git add conf delete script --- diff --git a/teleforma/management/commands/teleforma-delete-conferences.py b/teleforma/management/commands/teleforma-delete-conferences.py new file mode 100644 index 00000000..e5830890 --- /dev/null +++ b/teleforma/management/commands/teleforma-delete-conferences.py @@ -0,0 +1,31 @@ +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 telemeta.models import * +from telemeta.util.unaccent import unaccent +from teleforma.models import * +import logging +import json +import datetime + + +class Command(BaseCommand): + help = "Delete all conferences between two dates" + args = "start_month start_year end_month end_year" + admin_email = 'webmaster@parisson.com' + + def handle(self, *args, **options): + start_month, start_year, end_month, end_year = int(args[-4]), int(args[-3]), \ + int(args[-2]), int(args[-1]) + start_time = datetime.datetime(start_year, start_month, 1, 0, 0) + end_time = datetime.datetime(end_year, end_month, 30, 23, 59) + conferences = Conference.objects.filter(date_begin__gte=start_time) + conferences = conferences.filter(date_begin__lte=end_time) + for conference in conferences: + medias = Media.objects.filter(conference=conference) + for media in medias: + media.delete() + conference.delete() + print str(len(conferences)) + ' conferences and related media deleted.'