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) + +