Change strategy to only creating a single file per doc/rev, and not creating the 'draft-'-less or version-less variants. Corrected calculation of date in the management command.

- Legacy-Id: 19789
This commit is contained in:
Robert Sparks 2021-12-16 22:33:47 +00:00
parent f6035850d8
commit 865dc62676
4 changed files with 29 additions and 17 deletions

View file

@ -75,19 +75,21 @@ class Command(BaseCommand):
for e in doc_events:
self.mutter('%s %s' % (e.time, e.doc.name))
try:
e.doc.date = e.time.date()
doc = e.doc
if e.rev != doc.rev:
for h in doc.history_set.order_by("-time"):
if e.rev == h.rev:
doc = h
break
doc.date = e.time.date()
ref_text = '%s' % render_to_string('doc/bibxml.xml', {'name':doc.name, 'doc': doc, 'doc_bibtype':'I-D'})
if e.rev == e.doc.rev:
ref_file_name = os.path.join(bibxmldir, 'reference.I-D.%s.xml' % (doc.name[6:], ))
self.write(ref_file_name, ref_text)
else:
self.note("Skipping %s; outdated revision: %s" % (os.path.basename(ref_file_name), e.rev))
# if e.rev == e.doc.rev:
# for name in (doc.name, doc.name[6:]):
# ref_file_name = os.path.join(bibxmldir, 'reference.I-D.%s.xml' % (name, ))
# self.write(ref_file_name, ref_text)
# for name in (doc.name, doc.name[6:]):
# ref_rev_file_name = os.path.join(bibxmldir, 'reference.I-D.%s-%s.xml' % (name, doc.rev))
# self.write(ref_rev_file_name, ref_text)
ref_rev_file_name = os.path.join(bibxmldir, 'reference.I-D.%s-%s.xml' % (doc.name, doc.rev))
self.write(ref_rev_file_name, ref_text)
except Exception as ee:

View file

@ -1016,7 +1016,7 @@ HTPASSWD_FILE = "/www/htpasswd"
# Generation of pdf files
GHOSTSCRIPT_COMMAND = "/usr/bin/gs"
# Generation of bibxml files for internet-drafts
# Generation of bibxml files (currently only for internet drafts)
BIBXML_BASE_PATH = '/a/ietfdata/derived/bibxml'
# Timezone files for iCalendar

View file

@ -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.mail import outbox, empty_outbox, get_payload_text
from ietf.utils.models import VersionInfo
from ietf.utils.test_utils import login_testing_unauthorized, TestCase, unicontent
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
from ietf.utils.draft import Draft
@ -50,6 +50,7 @@ class BaseSubmitTestCase(TestCase):
'SUBMIT_YANG_DRAFT_MODEL_DIR',
'SUBMIT_YANG_IANA_MODEL_DIR',
'SUBMIT_YANG_CATALOG_DIR',
'BIBXML_BASE_PATH',
]
def setUp(self):
@ -59,6 +60,7 @@ class BaseSubmitTestCase(TestCase):
# old drafts may not be moved out of the way properly.
self.saved_repository_path = settings.IDSUBMIT_REPOSITORY_PATH
settings.IDSUBMIT_REPOSITORY_PATH = settings.INTERNET_DRAFT_PATH
os.mkdir(os.path.join(settings.BIBXML_BASE_PATH,'bibxml-ids'))
def tearDown(self):
settings.IDSUBMIT_REPOSITORY_PATH = self.saved_repository_path
@ -257,10 +259,14 @@ class SubmitTests(BaseSubmitTestCase):
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))
# for name in (draft.name, draft.name[6:]):
# ref_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s.xml' % (name, ))
# self.assertTrue(os.path.exists(ref_file_name))
# ref_rev_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s-%s.xml' % (name, draft.rev ))
# self.assertTrue(os.path.exists(ref_rev_file_name))
ref_rev_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s-%s.xml' % (draft.name, draft.rev ))
self.assertTrue(os.path.exists(ref_rev_file_name))
def submit_new_wg(self, formats):
# submit new -> supply submitter info -> approve

View file

@ -453,10 +453,14 @@ def post_submission(request, submission, approved_doc_desc, 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)
ref_rev_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s-%s.xml' % (draft.name[6:], draft.rev ))
# for name in (draft.name, draft.name[6:]):
# ref_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s.xml' % (name, ))
# with io.open(ref_file_name, "w", encoding='utf-8') as f:
# f.write(ref_text)
# ref_rev_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s-%s.xml' % (name, draft.rev ))
# with io.open(ref_rev_file_name, "w", encoding='utf-8') as f:
# f.write(ref_text)
ref_rev_file_name = os.path.join(os.path.join(settings.BIBXML_BASE_PATH, 'bibxml-ids'), 'reference.I-D.%s-%s.xml' % (draft.name, draft.rev ))
with io.open(ref_rev_file_name, "w", encoding='utf-8') as f:
f.write(ref_text)