From ce86ca4b71434e29c2d232575ac7d3db280c78b8 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Sun, 10 Mar 2019 08:22:07 -0700 Subject: [PATCH] Further fixes for bad urls in docs redirect --- pgweb/docs/views.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pgweb/docs/views.py b/pgweb/docs/views.py index 24e3318e..b31246d7 100644 --- a/pgweb/docs/views.py +++ b/pgweb/docs/views.py @@ -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) -- 2.11.4.GIT