summaryrefslogtreecommitdiff
path: root/helsinki.program/management/commands/importprogramslots.py
diff options
context:
space:
mode:
Diffstat (limited to 'helsinki.program/management/commands/importprogramslots.py')
-rw-r--r--helsinki.program/management/commands/importprogramslots.py96
1 files changed, 0 insertions, 96 deletions
diff --git a/helsinki.program/management/commands/importprogramslots.py b/helsinki.program/management/commands/importprogramslots.py
deleted file mode 100644
index 52aa73a..0000000
--- a/helsinki.program/management/commands/importprogramslots.py
+++ /dev/null
@@ -1,96 +0,0 @@
-from django.core.exceptions import ObjectDoesNotExist
-from django.core.management.base import NoArgsCommand
-from django.utils.html import strip_tags
-
-from datetime import time
-import MySQLdb
-
-from helsinki.program.models import Show, ProgramSlot, RRule
-
-USER = 'helsinki'
-PASSWD = 'helsinki'
-DB = 'helsinki'
-
-RRULES = {
- 0: RRule.objects.get(pk=1),
- 7: RRule.objects.get(pk=3),
- 14: RRule.objects.get(pk=4),
- 28: RRule.objects.get(pk=5)
-}
-
-class Command(NoArgsCommand):
- help = 'Import programslots from the current program'
-
- def handle_noargs(self, **options):
- connection = MySQLdb.connect(user=USER, passwd=PASSWD, db=DB)
- cursor = connection.cursor()
-
- cursor.execute("""SELECT titel, beginn, ende, erster_termin, letzter_termin, rhytmus, termin
-FROM sendungen
-WHERE letzter_termin > current_date AND titel NOT LIKE 'Musikprogramm' AND titel NOT LIKE '%%(Wiederholung)'""")
-
- counter = 0
-
- for titel, beginn, ende, erster_termin, letzter_termin, rhytmus, termin in cursor.fetchall():
- titel = strip_tags(titel)
-
- hours, seconds = divmod(beginn.seconds, 3600)
- minutes, seconds = divmod(seconds, 60)
- tstart = time(hour=hours, minute=minutes, second=seconds)
-
- hours, seconds = divmod(ende.seconds, 3600)
- minutes, seconds = divmod(seconds, 60)
- tend = time(hour=hours, minute=minutes, second=seconds)
-
- try:
- rrule = RRULES[rhytmus]
- try:
- show = Show.objects.get(name=titel)
- except ObjectDoesNotExist:
- print 'show with name "%s" not found' % titel
- else:
- programslot = ProgramSlot(rrule=rrule, byweekday=termin, show=show, dstart=erster_termin, tstart=tstart,
- tend=tend, until=letzter_termin)
- try:
- programslot.save()
- counter += 1
- except:
- pass
- except KeyError:
- print 'rhythmus "%i" is not supported for sendung "%s"' % (rhytmus, titel)
-
- cursor.execute("""SELECT titel, beginn, ende, erster_termin, letzter_termin, rhytmus, termin
-FROM sendungen
-WHERE letzter_termin > current_date AND titel LIKE '%%(Wiederholung)'""")
-
- for titel, beginn, ende, erster_termin, letzter_termin, rhytmus, termin in cursor.fetchall():
- titel = strip_tags(titel[:-15])
-
- hours, seconds = divmod(beginn.seconds, 3600)
- minutes, seconds = divmod(seconds, 60)
- tstart = time(hour=hours, minute=minutes, second=seconds)
-
- hours, seconds = divmod(ende.seconds, 3600)
- minutes, seconds = divmod(seconds, 60)
- tend = time(hour=hours, minute=minutes, second=seconds)
-
- try:
- rrule = RRULES[rhytmus]
- try:
- show = Show.objects.get(name=titel)
- except ObjectDoesNotExist:
- print 'show with name "%s" not found' % titel
- else:
- programslot = ProgramSlot(rrule=rrule, byweekday=termin, show=show, dstart=erster_termin, tstart=tstart, tend=tend, until=letzter_termin, is_repetition=True)
- try:
- programslot.save()
- counter += 1
- except:
- pass
- except KeyError:
- print 'rhythmus "%i" is not supported for sendung "%s"' % (rhytmus, titel)
-
- cursor.close()
- connection.close()
-
- print '%i programslots imported' % counter