Build and maintain a full set of bibxml-ids documents.
- Legacy-Id: 19782
This commit is contained in:
parent
54fc0364c9
commit
b7eec8ae26
|
@ -92,6 +92,9 @@ CHARTER=/a/www/ietf-ftp/charter
|
||||||
wget -q https://datatracker.ietf.org/wg/1wg-charters-by-acronym.txt -O $CHARTER/1wg-charters-by-acronym.txt
|
wget -q https://datatracker.ietf.org/wg/1wg-charters-by-acronym.txt -O $CHARTER/1wg-charters-by-acronym.txt
|
||||||
wget -q https://datatracker.ietf.org/wg/1wg-charters.txt -O $CHARTER/1wg-charters.txt
|
wget -q https://datatracker.ietf.org/wg/1wg-charters.txt -O $CHARTER/1wg-charters.txt
|
||||||
|
|
||||||
|
# Regenerate the last week of bibxml-ids
|
||||||
|
$DTDIR/ietf/manage.py generate_draft_bibxml_files
|
||||||
|
|
||||||
# Create and update group wikis
|
# Create and update group wikis
|
||||||
#$DTDIR/ietf/manage.py create_group_wikis
|
#$DTDIR/ietf/manage.py create_group_wikis
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ class Command(BaseCommand):
|
||||||
process_all = options.get("all")
|
process_all = options.get("all")
|
||||||
days = options.get("days")
|
days = options.get("days")
|
||||||
#
|
#
|
||||||
bibxmldir = os.path.join(settings.BIBXML_BASE_PATH, 'bibxml3')
|
bibxmldir = os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids')
|
||||||
if not os.path.exists(bibxmldir):
|
if not os.path.exists(bibxmldir):
|
||||||
os.makedirs(bibxmldir)
|
os.makedirs(bibxmldir)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1016,8 +1016,8 @@ HTPASSWD_FILE = "/www/htpasswd"
|
||||||
# Generation of pdf files
|
# Generation of pdf files
|
||||||
GHOSTSCRIPT_COMMAND = "/usr/bin/gs"
|
GHOSTSCRIPT_COMMAND = "/usr/bin/gs"
|
||||||
|
|
||||||
# Generation of bibxml files for xml2rfc
|
# Generation of bibxml files for internet-drafts
|
||||||
BIBXML_BASE_PATH = '/a/www/ietf-ftp/xml2rfc'
|
BIBXML_BASE_PATH = '/a/ietfdata/derived/bibxml'
|
||||||
|
|
||||||
# Timezone files for iCalendar
|
# Timezone files for iCalendar
|
||||||
TZDATA_ICS_PATH = BASE_DIR + '/../vzic/zoneinfo/'
|
TZDATA_ICS_PATH = BASE_DIR + '/../vzic/zoneinfo/'
|
||||||
|
|
|
@ -39,7 +39,7 @@ from ietf.submit.mail import add_submission_email, process_response_email
|
||||||
from ietf.utils.accesstoken import generate_access_token
|
from ietf.utils.accesstoken import generate_access_token
|
||||||
from ietf.utils.mail import outbox, empty_outbox, get_payload_text
|
from ietf.utils.mail import outbox, empty_outbox, get_payload_text
|
||||||
from ietf.utils.models import VersionInfo
|
from ietf.utils.models import VersionInfo
|
||||||
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
|
from ietf.utils.test_utils import login_testing_unauthorized, TestCase, unicontent
|
||||||
from ietf.utils.draft import Draft
|
from ietf.utils.draft import Draft
|
||||||
|
|
||||||
|
|
||||||
|
@ -256,6 +256,12 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
|
|
||||||
return confirmation_url
|
return confirmation_url
|
||||||
|
|
||||||
|
def verify_bibxml_ids_creation(self, draft):
|
||||||
|
url = urlreverse('ietf.doc.views_doc.document_bibxml', kwargs=dict(name=draft.name, rev=draft.rev))
|
||||||
|
r = self.client.get(url)
|
||||||
|
self.assertEqual(r.status_code, 200)
|
||||||
|
self.assertIn(draft.name, unicontent(r))
|
||||||
|
|
||||||
def submit_new_wg(self, formats):
|
def submit_new_wg(self, formats):
|
||||||
# submit new -> supply submitter info -> approve
|
# submit new -> supply submitter info -> approve
|
||||||
GroupFactory(type_id='wg',acronym='ames')
|
GroupFactory(type_id='wg',acronym='ames')
|
||||||
|
@ -374,6 +380,8 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
self.assertContains(r, 'Yang Validation')
|
self.assertContains(r, 'Yang Validation')
|
||||||
self.assertContains(r, 'WG Document')
|
self.assertContains(r, 'WG Document')
|
||||||
|
|
||||||
|
self.verify_bibxml_ids_creation(draft)
|
||||||
|
|
||||||
def test_submit_new_wg_txt(self):
|
def test_submit_new_wg_txt(self):
|
||||||
self.submit_new_wg(["txt"])
|
self.submit_new_wg(["txt"])
|
||||||
|
|
||||||
|
@ -685,6 +693,7 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
self.assertContains(r, draft.title)
|
self.assertContains(r, draft.title)
|
||||||
# Check submission settings
|
# Check submission settings
|
||||||
self.assertEqual(draft.submission().xml_version, "3" if 'xml' in formats else None)
|
self.assertEqual(draft.submission().xml_version, "3" if 'xml' in formats else None)
|
||||||
|
self.verify_bibxml_ids_creation(draft)
|
||||||
|
|
||||||
def test_submit_existing_txt(self):
|
def test_submit_existing_txt(self):
|
||||||
self.submit_existing(["txt"])
|
self.submit_existing(["txt"])
|
||||||
|
@ -839,6 +848,7 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
new_revision = draft.latest_event()
|
new_revision = draft.latest_event()
|
||||||
self.assertEqual(new_revision.type, "new_revision")
|
self.assertEqual(new_revision.type, "new_revision")
|
||||||
self.assertEqual(new_revision.by.name, "Submitter Name")
|
self.assertEqual(new_revision.by.name, "Submitter Name")
|
||||||
|
self.verify_bibxml_ids_creation(draft)
|
||||||
|
|
||||||
def test_submit_new_individual_txt(self):
|
def test_submit_new_individual_txt(self):
|
||||||
self.submit_new_individual(["txt"])
|
self.submit_new_individual(["txt"])
|
||||||
|
@ -879,6 +889,7 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
self.assertEqual(docauth.person, author)
|
self.assertEqual(docauth.person, author)
|
||||||
self.assertEqual(docauth.affiliation, '')
|
self.assertEqual(docauth.affiliation, '')
|
||||||
self.assertEqual(docauth.country, '')
|
self.assertEqual(docauth.country, '')
|
||||||
|
self.verify_bibxml_ids_creation(doc)
|
||||||
|
|
||||||
def test_submit_new_draft_no_org_or_address_txt(self):
|
def test_submit_new_draft_no_org_or_address_txt(self):
|
||||||
self.submit_new_draft_no_org_or_address(['txt'])
|
self.submit_new_draft_no_org_or_address(['txt'])
|
||||||
|
@ -1015,6 +1026,7 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
|
|
||||||
# Check submission settings
|
# Check submission settings
|
||||||
self.assertEqual(draft.submission().xml_version, "3" if 'xml' in formats else None)
|
self.assertEqual(draft.submission().xml_version, "3" if 'xml' in formats else None)
|
||||||
|
self.verify_bibxml_ids_creation(draft)
|
||||||
|
|
||||||
def test_submit_new_logged_in_txt(self):
|
def test_submit_new_logged_in_txt(self):
|
||||||
self.submit_new_individual_logged_in(["txt"])
|
self.submit_new_individual_logged_in(["txt"])
|
||||||
|
@ -1058,6 +1070,7 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
[str(r) for r in resources],
|
[str(r) for r in resources],
|
||||||
)
|
)
|
||||||
self._assert_extresource_change_event(draft, is_present=True)
|
self._assert_extresource_change_event(draft, is_present=True)
|
||||||
|
self.verify_bibxml_ids_creation(draft)
|
||||||
|
|
||||||
def test_submit_update_individual(self):
|
def test_submit_update_individual(self):
|
||||||
IndividualDraftFactory(name='draft-ietf-random-thing', states=[('draft','rfc')], other_aliases=['rfc9999',], pages=5)
|
IndividualDraftFactory(name='draft-ietf-random-thing', states=[('draft','rfc')], other_aliases=['rfc9999',], pages=5)
|
||||||
|
@ -1115,6 +1128,7 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
self.assertContains(r, draft.name)
|
self.assertContains(r, draft.name)
|
||||||
self.assertContains(r, draft.title)
|
self.assertContains(r, draft.title)
|
||||||
self._assert_extresource_change_event(draft, is_present=False)
|
self._assert_extresource_change_event(draft, is_present=False)
|
||||||
|
self.verify_bibxml_ids_creation(draft)
|
||||||
|
|
||||||
def submit_existing_with_extresources(self, group_type, stream_type='ietf'):
|
def submit_existing_with_extresources(self, group_type, stream_type='ietf'):
|
||||||
"""Submit a draft with external resources
|
"""Submit a draft with external resources
|
||||||
|
@ -1390,6 +1404,7 @@ class SubmitTests(BaseSubmitTestCase):
|
||||||
draft = Document.objects.get(docalias__name=name)
|
draft = Document.objects.get(docalias__name=name)
|
||||||
self.assertEqual(draft.rev, rev)
|
self.assertEqual(draft.rev, rev)
|
||||||
self.assertEqual(draft.docextresource_set.count(), 0)
|
self.assertEqual(draft.docextresource_set.count(), 0)
|
||||||
|
self.verify_bibxml_ids_creation(draft)
|
||||||
|
|
||||||
def test_search_for_submission_and_edit_as_secretariat(self):
|
def test_search_for_submission_and_edit_as_secretariat(self):
|
||||||
# submit -> edit
|
# submit -> edit
|
||||||
|
|
|
@ -17,6 +17,7 @@ from django.core.validators import validate_email
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.http import HttpRequest # pyflakes:ignore
|
from django.http import HttpRequest # pyflakes:ignore
|
||||||
from django.utils.module_loading import import_string
|
from django.utils.module_loading import import_string
|
||||||
|
from django.template.loader import render_to_string
|
||||||
|
|
||||||
import debug # pyflakes:ignore
|
import debug # pyflakes:ignore
|
||||||
|
|
||||||
|
@ -449,6 +450,13 @@ def post_submission(request, submission, approved_doc_desc, approved_subm_desc):
|
||||||
submission.save()
|
submission.save()
|
||||||
|
|
||||||
create_submission_event(request, submission, approved_subm_desc)
|
create_submission_event(request, submission, approved_subm_desc)
|
||||||
|
|
||||||
|
# Create bibxml-ids entry
|
||||||
|
ref_text = '%s' % render_to_string('doc/bibxml.xml', {'name':draft.name, 'doc': draft, 'doc_bibtype':'I-D'})
|
||||||
|
ref_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s.xml' % (draft.name[6:], ))
|
||||||
|
with io.open(ref_file_name, "w", encoding='utf-8') as f:
|
||||||
|
f.write(ref_text)
|
||||||
|
|
||||||
log.log(f"{submission.name}: done")
|
log.log(f"{submission.name}: done")
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue