summaryrefslogtreecommitdiff
path: root/program/management/commands
diff options
context:
space:
mode:
Diffstat (limited to 'program/management/commands')
-rw-r--r--program/management/commands/cleanup_defaultshow.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/program/management/commands/cleanup_defaultshow.py b/program/management/commands/cleanup_defaultshow.py
new file mode 100644
index 0000000..2f6ccca
--- /dev/null
+++ b/program/management/commands/cleanup_defaultshow.py
@@ -0,0 +1,21 @@
+from django.core.management.base import NoArgsCommand
+from django.db import transaction
+
+from program.models import Show, TimeSlot, ProgramSlot
+
+class Command(NoArgsCommand):
+ @transaction.commit_manually
+ def handle_noargs(self, **options):
+ help = 'removes default shows without note'
+
+ default_show = Show.objects.get(pk=1)
+ try:
+ TimeSlot.objects.filter(show=default_show, note__isnull=True).delete()
+ for programslot in ProgramSlot.objects.filter(show=default_show):
+ if programslot.timeslots.count() == 0:
+ programslot.delete()
+ except:
+ transaction.rollback()
+ else:
+ transaction.commit()
+