Skip to content

Commit 4ac1153

Browse files
fix: Label draft change log with rfc number (ietf-tools#6659)
* fix: Label draft change log with rfc num * test: Update test
1 parent b215867 commit 4ac1153

3 files changed

Lines changed: 16 additions & 7 deletions

File tree

ietf/bin/rfc-editor-index-updates

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@ if len(errata_data) < ietf.sync.rfceditor.MIN_ERRATA_RESULTS:
7979
sys.exit(1)
8080

8181
new_rfcs = []
82-
for changes, doc, rfc_published in ietf.sync.rfceditor.update_docs_from_rfc_index(index_data, errata_data, skip_older_than_date=skip_date):
82+
for rfc_number, changes, doc, rfc_published in ietf.sync.rfceditor.update_docs_from_rfc_index(index_data, errata_data, skip_older_than_date=skip_date):
8383
if rfc_published:
8484
new_rfcs.append(doc)
8585

8686
for c in changes:
87-
log("RFC%s, %s: %s" % (doc.rfc_number, doc.name, c))
87+
log("RFC%s, %s: %s" % (rfc_number, doc.name, c))
8888

8989
sys.exit(0)
9090

ietf/sync/rfceditor.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -336,10 +336,11 @@ def extract_doc_list(parentNode, tagName):
336336

337337
def update_docs_from_rfc_index(
338338
index_data, errata_data, skip_older_than_date=None
339-
) -> Iterator[tuple[list[str], Document, bool]]:
339+
) -> Iterator[tuple[int, list[str], Document, bool]]:
340340
"""Given parsed data from the RFC Editor index, update the documents in the database
341341
342-
Yields a list of change descriptions for each document, if any.
342+
Returns an iterator that yields (rfc_number, change_list, doc, rfc_published) for the
343+
RFC document and, if applicable, the I-D that it came from.
343344
344345
The skip_older_than_date is a bare date, not a datetime.
345346
"""
@@ -553,7 +554,7 @@ def update_docs_from_rfc_index(
553554
)
554555
)
555556
draft.save_with_history(draft_events)
556-
yield draft_changes, draft, False # yield changes to the draft
557+
yield rfc_number, draft_changes, draft, False # yield changes to the draft
557558

558559
# check attributes
559560
verbed = "set" if created_rfc else "changed"
@@ -757,7 +758,7 @@ def parse_relation_list(l):
757758
)
758759
)
759760
doc.save_with_history(rfc_events)
760-
yield rfc_changes, doc, rfc_published # yield changes to the RFC
761+
yield rfc_number, rfc_changes, doc, rfc_published # yield changes to the RFC
761762

762763
if first_sync_creating_subseries:
763764
# First - create the known subseries documents that have ghosted.

ietf/sync/tests.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,16 @@ def test_rfc_index(self):
350350

351351
changes = []
352352
with mock.patch("ietf.sync.rfceditor.log") as mock_log:
353-
for _, d, rfc_published in rfceditor.update_docs_from_rfc_index(data, errata, today - datetime.timedelta(days=30)):
353+
for rfc_number, _, d, rfc_published in rfceditor.update_docs_from_rfc_index(data, errata, today - datetime.timedelta(days=30)):
354354
changes.append({"doc_pk": d.pk, "rfc_published": rfc_published}) # we ignore the actual change list
355+
self.assertEqual(rfc_number, 1234)
356+
if rfc_published:
357+
self.assertEqual(d.type_id, "rfc")
358+
self.assertEqual(d.rfc_number, rfc_number)
359+
else:
360+
self.assertEqual(d.type_id, "draft")
361+
self.assertIsNone(d.rfc_number)
362+
355363
self.assertFalse(mock_log.called, "No log messages expected")
356364

357365
draft_doc = Document.objects.get(name=draft_doc.name)

0 commit comments

Comments
 (0)