39 lines
1.8 KiB
Python
Executable file
39 lines
1.8 KiB
Python
Executable file
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
# -*- Python -*-
|
|
#
|
|
|
|
import os, sys
|
|
basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
|
|
sys.path = [ basedir ] + sys.path
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
|
|
|
|
import django
|
|
django.setup()
|
|
|
|
from ietf.group.models import Group
|
|
from ietf.person.models import Person
|
|
from ietf.name.models import SessionStatusName
|
|
from ietf.meeting.models import Meeting, Session, ScheduledSession as ScheduleTimeslotSSessionAssignment
|
|
|
|
secretariat = Group.objects.get(acronym='secretariat')
|
|
system = Person.objects.get(id=1, name='(System)')
|
|
scheduled = SessionStatusName.objects.get(slug='sched')
|
|
|
|
for meeting in Meeting.objects.filter(type="ietf").order_by("date"):
|
|
print "Checking %s schedules ..." % meeting
|
|
brk, __ = Session.objects.get_or_create(meeting=meeting, group=secretariat, requested_by=system, status=scheduled, name='Break', type_id='break',)
|
|
reg, __ = Session.objects.get_or_create(meeting=meeting, group=secretariat, requested_by=system, status=scheduled, name='Registration', type_id='reg',)
|
|
|
|
for schedule in meeting.schedule_set.all():
|
|
print " Checking for missing Break and Reg sessions in %s" % schedule
|
|
for timeslot in meeting.timeslot_set.all():
|
|
if timeslot.type_id == 'break':
|
|
assignment, created = ScheduleTimeslotSSessionAssignment.objects.get_or_create(timeslot=timeslot, session=brk, schedule=schedule)
|
|
if created:
|
|
print " Added %s break assignment" % timeslot
|
|
if timeslot.type_id == 'reg':
|
|
assignment, created = ScheduleTimeslotSSessionAssignment.objects.get_or_create(timeslot=timeslot, session=reg, schedule=schedule)
|
|
if created:
|
|
print " Added %s registration assignment" % timeslot
|