75 lines
2.4 KiB
Python
Executable file
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")])
|