summaryrefslogtreecommitdiff
path: root/postgresqleu/util/request.py
diff options
context:
space:
mode:
Diffstat (limited to 'postgresqleu/util/request.py')
-rw-r--r--postgresqleu/util/request.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/postgresqleu/util/request.py b/postgresqleu/util/request.py
index 878763d5..b7729676 100644
--- a/postgresqleu/util/request.py
+++ b/postgresqleu/util/request.py
@@ -1,14 +1,20 @@
from django.http import Http404
-def get_int_or_error(reqmap, paramname, default=None):
+def get_int_or_error(reqmap, paramname, default=None, allow_negative=False):
if paramname not in reqmap:
if default:
return default
raise Http404("Parameter {} missing".format(paramname))
p = reqmap.get(paramname)
+ if allow_negative and p.startswith('-'):
+ p = p[1:]
+ negative = -1
+ else:
+ negative = 1
+
if not p.isnumeric():
raise Http404("Parameter {} is not an integer".format(paramname))
- return int(p)
+ return int(p) * negative