aboutsummaryrefslogtreecommitdiff
path: root/server/szurubooru/rest/context.py
diff options
context:
space:
mode:
authorHunternif2019-04-17 00:24:34 +0700
committerHunternif2019-04-17 00:24:34 +0700
commitdef305c11c9f3a8e0e347dab0b2ec03e7275c93c (patch)
tree6f0f64dfd015186ef40843db54f07bfeafc9bc8e /server/szurubooru/rest/context.py
parent110c1125fe143ac91cbda007129ec84e5d21930d (diff)
Update metrics via tag API
Diffstat (limited to 'server/szurubooru/rest/context.py')
-rw-r--r--server/szurubooru/rest/context.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/server/szurubooru/rest/context.py b/server/szurubooru/rest/context.py
index 2aad101..647e2e3 100644
--- a/server/szurubooru/rest/context.py
+++ b/server/szurubooru/rest/context.py
@@ -160,6 +160,32 @@ class Context:
raise errors.InvalidParameterError(
'Parameter %r must be an integer value.' % name)
+ def get_param_as_float(
+ self,
+ name: str,
+ default: Union[object, float] = MISSING,
+ min: Optional[float] = None,
+ max: Optional[float] = None) -> float:
+ if name not in self._params:
+ if default is not MISSING:
+ return cast(float, default)
+ raise errors.MissingRequiredParameterError(
+ 'Required parameter %r is missing.' % name)
+ value = self._params[name]
+ try:
+ value = float(value)
+ if min is not None and value < min:
+ raise errors.InvalidParameterError(
+ 'Parameter %r must be at least %r.' % (name, min))
+ if max is not None and value > max:
+ raise errors.InvalidParameterError(
+ 'Parameter %r may not exceed %r.' % (name, max))
+ return value
+ except (ValueError, TypeError):
+ pass
+ raise errors.InvalidParameterError(
+ 'Parameter %r must be a float value.' % name)
+
def get_param_as_bool(
self,
name: str,

© 2015 - 2026 Jakob L. Kreuze