docs: verify that targets for relative redirects exist
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 21 Oct 2020 11:38:23 +0000 (13:38 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 21 Oct 2020 18:11:39 +0000 (18:11 +0000)
This makes it a bit easier to update the redirects.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7174>

docs/_exts/redirects.py

index 0320f2c..4528189 100644 (file)
@@ -1,4 +1,5 @@
 import os
+from urllib.parse import urlparse
 
 redirects = [
     ('llvmpipe', 'gallium/drivers/llvmpipe.html'),
@@ -15,7 +16,13 @@ def create_redirects(app, docname):
         return
     for src, dst in redirects:
         path = os.path.join(app.outdir, '{0}.html'.format(src))
+
         os.makedirs(os.path.dirname(path), exist_ok=True)
+
+        if urlparse(dst).scheme == "":
+            if not os.path.isfile(os.path.join(os.path.dirname(path), dst)):
+                raise Exception('{0} does not exitst'.format(dst))
+
         with open(path, 'w') as f:
             f.write(create_redirect(dst))