#!/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["DJANGO_SETTINGS_MODULE"] = "ietf.settings" virtualenv_activation = os.path.join(basedir, "env", "bin", "activate_this.py") if os.path.exists(virtualenv_activation): execfile(virtualenv_activation, dict(__file__=virtualenv_activation)) 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' and not (schedule.base and SchedTimeSessAssignment.objects.filter(timeslot=timeslot, session=brk, schedule=schedule.base).exists()): assignment, created = SchedTimeSessAssignment.objects.get_or_create(timeslot=timeslot, session=brk, schedule=schedule) if created: print " Added %s break assignment" % timeslot if timeslot.type_id == 'reg' and not (schedule.base and SchedTimeSessAssignment.objects.filter(timeslot=timeslot, session=reg, schedule=schedule.base).exists()): assignment, created = SchedTimeSessAssignment.objects.get_or_create(timeslot=timeslot, session=reg, schedule=schedule) if created: print " Added %s registration assignment" % timeslot