forked from rc/aircox
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
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)
|
|
|
|
|