Further fixes for bad urls in docs redirect
authorMagnus Hagander <magnus@hagander.net>
Sun, 10 Mar 2019 15:22:07 +0000 (08:22 -0700)
committerMagnus Hagander <magnus@hagander.net>
Sun, 10 Mar 2019 15:22:07 +0000 (08:22 -0700)
pgweb/docs/views.py

index 24e3318ec8ee39da1b4bfca83effc3163ab3cfbb..b31246d7ea926813b5e42709fe9454eeafbec08c 100644 (file)
@@ -67,7 +67,13 @@ def docpage(request, version, filename):
         release_version = re.sub(r'release-((\d+)(-\d+)?)(-\d+)?.html',
             r'\1', fullname).replace('-', '.')
         # convert to Decimal for ease of manipulation
-        release_version = Decimal(release_version)
+        try:
+            release_version = Decimal(release_version)
+        except:
+            # If it's not a proper decimal, just return 404. This can happen from many
+            # broken links around the web.
+            raise Http404("Invalid version format")
+
         # if the version is greater than 10, truncate the number
         if release_version >= Decimal('10'):
             release_version = release_version.quantize(Decimal('1'), rounding=ROUND_DOWN)