Skip to content

Commit e76d32e

Browse files
committed
Merged in [18905] from housley@vigilsec.com:
Point bibxml3 to I-D archive so that all version numbers are handled properly, and perform more robust revision suffix cleanup. Fixes ietf-tools#3188. - Legacy-Id: 18920 Note: SVN reference [18905] has been migrated to Git commit d42aab0
2 parents c13db95 + d42aab0 commit e76d32e

File tree

2 files changed

+18
-11
lines changed

2 files changed

+18
-11
lines changed

ietf/doc/views_doc.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -819,10 +819,15 @@ def document_history(request, name):
819819

820820

821821
def document_bibtex(request, name, rev=None):
822-
# If URL_REGEXPS put trailing digits in rev, they must be two digits
822+
# Make sure URL_REGEXPS did not grab too much for the rev number
823823
if rev != None and len(rev) != 2:
824-
name = name+"-"+rev
825-
rev = None
824+
mo = re.search(r"^(?P<m>[0-9]{1,2})-(?P<n>[0-9]{2})$", rev)
825+
if mo:
826+
name = name+"-"+mo.group(1)
827+
rev = mo.group(2)
828+
else:
829+
name = name+"-"+rev
830+
rev = None
826831

827832
doc = get_object_or_404(Document, docalias__name=name)
828833

@@ -862,9 +867,6 @@ def document_bibxml_ref(request, name, rev=None):
862867
raise Http404()
863868
if not name.startswith('draft-'):
864869
name = 'draft-'+name
865-
if rev != None and len(rev) != 2:
866-
name = name+"-"+rev
867-
rev = None
868870
return document_bibxml(request, name, rev=rev)
869871

870872
def document_bibxml(request, name, rev=None):
@@ -873,16 +875,21 @@ def document_bibxml(request, name, rev=None):
873875
if re.search(r'^rfc\d+$', name):
874876
raise Http404()
875877

876-
# If URL_REGEXPS put trailing digits in rev, they must be two digits
878+
# Make sure URL_REGEXPS did not grab too much for the rev number
877879
if rev != None and len(rev) != 2:
878-
name = name+"-"+rev
879-
rev = None
880+
mo = re.search(r"^(?P<m>[0-9]{1,2})-(?P<n>[0-9]{2})$", rev)
881+
if mo:
882+
name = name+"-"+mo.group(1)
883+
rev = mo.group(2)
884+
else:
885+
name = name+"-"+rev
886+
rev = None
880887

881888
doc = get_object_or_404(Document, name=name, type_id='draft')
882889

883890
latest_revision = doc.latest_event(NewRevisionDocEvent, type="new_revision")
884891
latest_rev = latest_revision.rev if latest_revision else None
885-
892+
886893
if rev != None:
887894
# find the entry in the history
888895
for h in doc.history_set.order_by("-time"):

ietf/templates/doc/bibxml.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@
1616
</front>
1717
<seriesInfo name="Internet-Draft" value="{{name}}-{{doc.rev}}" />
1818
{% if doi %}<seriesInfo name="DOI" value="{{doi}}" />
19-
{% endif %}<format type="TXT" target="https://www.ietf.org/internet-drafts/{{name}}-{{doc.rev}}.txt" />
19+
{% endif %}<format type="TXT" target="https://www.ietf.org/archive/id/{{name}}-{{doc.rev}}.txt" />
2020
</reference>

0 commit comments

Comments
 (0)