fix algorithm for Schedule's dates of month and start working on utilities for scheduling

This commit is contained in:
bkfox 2015-08-16 20:24:46 +02:00
parent 2b78ba19de
commit 43ef2b390c

43
programs/utils.py Normal file
View File

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