diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-02-15 19:34:24 +0300 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-02-15 19:47:52 +0300 |
commit | cb49a6b09148342dca7eea2573d9c9e9e62974c2 (patch) | |
tree | 49b6631e88a69ad6a7cd326227178d2a24a71bb9 /sphinx/roles.py | |
parent | aeed3d89bfd7fa23e9393f6cfea6a719bb6502d6 (diff) |
Fix :pep: and :rfc: roles are broken
Diffstat (limited to 'sphinx/roles.py')
-rw-r--r-- | sphinx/roles.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/sphinx/roles.py b/sphinx/roles.py index c36ed2613..c77feeb62 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -277,11 +277,11 @@ class PEP(ReferenceRole): def build_uri(self): # type: () -> str base_url = self.inliner.document.settings.pep_base_url - target, anchor = self.target.split('#', 1) - if anchor: - return base_url + 'pep-%04d#%s' % (int(target), anchor) + ret = self.target.split('#', 1) + if len(ret) == 2: + return base_url + 'pep-%04d#%s' % (int(ret[0]), ret[1]) else: - return base_url + 'pep-%04d' % int(target) + return base_url + 'pep-%04d' % int(ret[0]) class RFC(ReferenceRole): @@ -312,13 +312,12 @@ class RFC(ReferenceRole): def build_uri(self): # type: () -> str - target, anchor = self.target.split('#', 1) - base_url = (self.inliner.document.settings.rfc_base_url + - self.inliner.rfc_url % int(target)) - if anchor: - return base_url + '#' + anchor + base_url = self.inliner.document.settings.rfc_base_url + ret = self.target.split('#', 1) + if len(ret) == 2: + return base_url + self.inliner.rfc_url % int(ret[0]) + '#' + ret[1] else: - return base_url + return base_url + self.inliner.rfc_url % int(ret[0]) _amp_re = re.compile(r'(?<!&)&(?![&\s])') |