Updated rfc-editor sync code to recognize the new Tooling Issue queue state.

- Legacy-Id: 16730
This commit is contained in:
Henrik Levkowetz 2019-09-11 16:20:25 +00:00
parent 3e67a395b5
commit 96f6f47758
4 changed files with 110 additions and 9 deletions

View file

@ -0,0 +1,25 @@
# Copyright The IETF Trust 2019, All Rights Reserved
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from django.db import migrations
def forward(apps, schema_editor):
State = apps.get_model('doc','State')
State.objects.get_or_create(type_id='draft-rfceditor', slug='tooling-issue', name='TI',
desc='Tooling Issue; an update is needed to one or more of the tools in the publication pipeline before this document can be published')
def reverse(apps, schema_editor):
State = apps.get_model('doc','State')
State.objects.filter(type_id='draft-rfceditor', slug='tooling-issue').delete()
class Migration(migrations.Migration):
dependencies = [
('doc', '0025_ianaexpertdocevent'),
]
operations = [
migrations.RunPython(forward,reverse)
]

View file

@ -2183,6 +2183,71 @@
"model": "doc.state",
"pk": 150
},
{
"fields": {
"desc": "One or more registries need experts assigned",
"name": "Need IANA Expert(s)",
"next_states": [],
"order": 0,
"slug": "need-experts",
"type": "draft-iana-experts",
"used": true
},
"model": "doc.state",
"pk": 151
},
{
"fields": {
"desc": "One or more expert reviews have been assigned",
"name": "Reviews assigned",
"next_states": [],
"order": 1,
"slug": "reviews-assigned",
"type": "draft-iana-experts",
"used": true
},
"model": "doc.state",
"pk": 152
},
{
"fields": {
"desc": "Some expert reviewers have identified issues",
"name": "Issues identified",
"next_states": [],
"order": 2,
"slug": "expert-issues",
"type": "draft-iana-experts",
"used": true
},
"model": "doc.state",
"pk": 153
},
{
"fields": {
"desc": "All expert reviews have been completed with no blocking issues",
"name": "Expert Reviews OK",
"next_states": [],
"order": 2,
"slug": "reviewers-ok",
"type": "draft-iana-experts",
"used": true
},
"model": "doc.state",
"pk": 154
},
{
"fields": {
"desc": "Tooling Issue; an update is needed to one or more of the tools in the publication pipeline before this document can be published",
"name": "TI",
"next_states": [],
"order": 0,
"slug": "tooling-issue",
"type": "draft-rfceditor",
"used": true
},
"model": "doc.state",
"pk": 155
},
{
"fields": {
"label": "State"
@ -2232,6 +2297,13 @@
"model": "doc.statetype",
"pk": "draft-iana-action"
},
{
"fields": {
"label": "IANA Experts State"
},
"model": "doc.statetype",
"pk": "draft-iana-experts"
},
{
"fields": {
"label": "IANA Review state"
@ -2688,7 +2760,7 @@
"groupman_roles": "[\"chair\",\"delegate\"]",
"has_chartering_process": false,
"has_default_jabber": false,
"has_documents": false,
"has_documents": true,
"has_meetings": false,
"has_milestones": false,
"has_nonsession_materials": false,
@ -13463,7 +13535,7 @@
"fields": {
"command": "xym",
"switch": "--version",
"time": "2019-06-28T00:12:25.320",
"time": "2019-08-28T00:12:18.148",
"used": true,
"version": "xym 0.4"
},
@ -13474,7 +13546,7 @@
"fields": {
"command": "pyang",
"switch": "--version",
"time": "2019-06-28T00:12:26.510",
"time": "2019-08-28T00:12:19.512",
"used": true,
"version": "pyang 1.7.8"
},
@ -13485,7 +13557,7 @@
"fields": {
"command": "yanglint",
"switch": "--version",
"time": "2019-06-28T00:12:26.755",
"time": "2019-08-28T00:12:19.751",
"used": true,
"version": "yanglint 0.14.80"
},
@ -13496,9 +13568,9 @@
"fields": {
"command": "xml2rfc",
"switch": "--version",
"time": "2019-06-28T00:12:28.742",
"time": "2019-08-28T00:12:20.931",
"used": true,
"version": "xml2rfc 2.22.3"
"version": "xml2rfc 2.23.1"
},
"model": "utils.versioninfo",
"pk": 4

View file

@ -147,6 +147,7 @@ def update_drafts_from_queue(drafts):
'ISR-AUTH': slookup['isr-auth'],
'REF': slookup['ref'],
'RFC-EDITOR': slookup['rfc-edit'],
'TI': slookup['tooling-issue'],
'TO': slookup['timeout'],
'MISSREF': slookup['missref'],
}
@ -300,7 +301,6 @@ def parse_index(response):
wg = None
l = []
pages = ""
for fmt in node.getElementsByTagName("format"):
l.append(get_child_text(fmt, "file-format"))
file_formats = (",".join(l)).lower()

View file

@ -288,9 +288,8 @@ class RFCSyncTests(TestCase):
</date>
<format>
<file-format>ASCII</file-format>
<char-count>12345</char-count>
<page-count>42</page-count>
</format>
<page-count>42</page-count>
<keywords>
<kw>test</kw>
</keywords>
@ -401,6 +400,11 @@ class RFCSyncTests(TestCase):
self.assertEqual(len(drafts), 1)
self.assertEqual(len(warnings), 0)
# Test with TI state introduced 11 Sep 2019
t = t.replace("<state>EDIT*R*A(1G)</state>", "<state>TI</state>")
__, warnings = rfceditor.parse_queue(io.StringIO(t))
self.assertEqual(len(warnings), 0)
draft_name, date_received, state, tags, missref_generation, stream, auth48, cluster, refs = drafts[0]
# currently, we only check what we actually use