From 43ef2b390c2ccdc9f6cf854b3eb16d725e35c6d6 Mon Sep 17 00:00:00 2001 From: bkfox Date: Sun, 16 Aug 2015 20:24:46 +0200 Subject: [PATCH] fix algorithm for Schedule's dates of month and start working on utilities for scheduling --- programs/utils.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 programs/utils.py diff --git a/programs/utils.py b/programs/utils.py new file mode 100644 index 0000000..ff40e04 --- /dev/null +++ b/programs/utils.py @@ -0,0 +1,43 @@ +from django.utils import timezone + +from programs.models import Schedule, Event, Episode,\ + SoundFile, Frequency + + + +def update_scheduled_events (date): + """ + Update planified events from schedules + TODO: notification in case of conflicts? + """ + all_schedules = Schedule.objects().all() + schedules = [ schedule + for schedule in models.Schedule.objects().all() + if schedule.match-date(date) ] + + schedules.sort(key = lambda e: e.date) + + for schedule in schedules: + if schedule.frequency == Frequency['ponctual']: + continue + + ev_date = timezone.datetime(date.year, date.month, date.day, + schedule.date.hour, schedule.date.minute) + + # if event exists, pass + n = Event.objects() \ + .filter(date = ev_date, parent__parent = schedule.parent) \ + .count() + if n: + continue + + ep_date = ev_date + + # rerun? + if schedule.rerun: + schedule = schedule.rerun + date_ = schedule.date + + episode = Episode.objects().filter(date = date) + +