datatracker/ietf/idrfc/generate_fixtures.py
Ole Laursen 13aed82a0e More import path fixes from Henrik
- Legacy-Id: 3877
2012-01-30 19:05:27 +00:00

75 lines
2.4 KiB
Python
Executable file

#!/usr/bin/python
# boiler plate
import os, sys
one_dir_up = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '../'))
sys.path.insert(0, one_dir_up)
from django.core.management import setup_environ
import settings
setup_environ(settings)
# script
from django.core.serializers import serialize
from django.db.models import Q
from ietf.idtracker.models import *
from ietf.iesg.models import *
def output(name, qs):
try:
f = open(os.path.join(settings.BASE_DIR, "idrfc/fixtures/%s.xml" % name), 'w')
f.write(serialize("xml", qs, indent=4))
f.close()
except:
from django.db import connection
from pprint import pprint
pprint(connection.queries)
raise
# base data
base = []
area_directors = AreaDirector.objects.all()
broken_logins = ('bthorson', 'members', 'iab')
base.extend(area_directors)
base.extend(PersonOrOrgInfo.objects.filter(areadirector__in=area_directors))
base.extend(IESGLogin.objects.filter(Q(login_name="klm") | Q(person__in=[a.person for a in area_directors])).exclude(login_name__in=broken_logins))
base.extend(EmailAddress.objects.filter(person_or_org__areadirector__in=area_directors, priority=1))
base.extend(IDStatus.objects.all())
base.extend(IDIntendedStatus.objects.all())
base.extend(IDSubState.objects.all())
base.extend(IDState.objects.all())
base.extend(WGType.objects.all())
base.extend(TelechatDates.objects.all())
base.extend(Acronym.objects.filter(acronym_id=Acronym.INDIVIDUAL_SUBMITTER))
base.extend(IDDates.objects.all())
output("base", base)
# specific drafts
draftdata = []
d = InternetDraft.objects.get(filename="draft-ietf-mipshop-pfmipv6")
draftdata.extend([d, d.idinternal, d.group, d.group.ietfwg])
ags = AreaGroup.objects.filter(group__exact=d.group.ietfwg.group_acronym)
draftdata.extend(ags)
draftdata.extend([a.area for a in ags])
draftdata.extend([a.area.area_acronym for a in ags])
d = InternetDraft.objects.get(filename="draft-ietf-mip6-cn-ipsec")
draftdata.extend([d, d.idinternal])
d = InternetDraft.objects.get(filename="draft-ah-rfc2141bis-urn")
draftdata.extend([d, d.group, d.group.ietfwg])
output("draft", draftdata)
# specific ballot info
d = InternetDraft.objects.get(filename="draft-ietf-mipshop-pfmipv6")
output("ballot", [d.idinternal.ballot])
# specific WG actions
wgas = WGAction.objects.all()
output("wgactions", list(wgas) + list(Acronym.objects.filter(wgaction__in=wgas)) + [Acronym.objects.get(acronym="sieve")])