From f2d460672e19a7a21c0f92b5ad2342d8e2c80724 Mon Sep 17 00:00:00 2001 From: Griatch Date: Thu, 18 Jun 2020 01:02:15 +0200 Subject: [PATCH] Another fix to auto-relinker --- docs/pylib/create_toctree.py | 44 +++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/docs/pylib/create_toctree.py b/docs/pylib/create_toctree.py index 243114d3f0..fba3018b89 100644 --- a/docs/pylib/create_toctree.py +++ b/docs/pylib/create_toctree.py @@ -46,31 +46,39 @@ def create_toctree(): def _sub(match): grpdict = match.groupdict() txt, url = grpdict['txt'], grpdict['url'] - fname, *part = url.rsplit("/", 1) - fname = part[0] if part else fname - fname = fname.rsplit(".", 1)[0] - fname, *anchor = url.rsplit("#", 1) - if fname in docref_map: - urlout = docref_map[fname] + ('#' + anchor[0] if anchor else '') - if urlout != url: - print(f" Remapped link [{txt}]({url}) -> [{txt}]({urlout})") - else: + + if "http" in url and "://" in url: urlout = url + else: + fname, *part = url.rsplit("/", 1) + fname = part[0] if part else fname + fname = fname.rsplit(".", 1)[0] + fname, *anchor = fname.rsplit("#", 1) + if fname in docref_map: + urlout = docref_map[fname] + ('#' + anchor[0] if anchor else '') + if urlout != url: + print(f" Remapped link [{txt}]({url}) -> [{txt}]({urlout})") + else: + urlout = url return f"[{txt}]({urlout})" def _sub_doc(match): grpdict = match.groupdict() txt, url = grpdict['txt'], grpdict['url'] - fname, *part = url.rsplit("/", 1) - fname = part[0] if part else fname - fname = fname.rsplit(".", 1)[0] - fname, *anchor = url.rsplit("#", 1) - if fname in docref_map: - urlout = docref_map[fname] + ('#' + anchor[0] if anchor else '') - if urlout != url: - print(f" Remapped link [{txt}]: {url} -> [{txt}]: {urlout}") - else: + + if "http" in url and "://" in url: urlout = url + else: + fname, *part = url.rsplit("/", 1) + fname = part[0] if part else fname + fname = fname.rsplit(".", 1)[0] + fname, *anchor = fname.rsplit("#", 1) + if fname in docref_map: + urlout = docref_map[fname] + ('#' + anchor[0] if anchor else '') + if urlout != url: + print(f" Remapped link [{txt}]: {url} -> [{txt}]: {urlout}") + else: + urlout = url return f"[{txt}]: {urlout}" # replace / correct links in all files