aboutsummaryrefslogtreecommitdiff
path: root/uploader/input_validation.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2024-07-25 11:07:33 -0500
committerFrederick Muriuki Muriithi2024-07-25 14:34:09 -0500
commit754e8f214b940e05298cb360ed829f5c685d55a5 (patch)
tree62c2c5b601746621f0949b38937ad232f006dee2 /uploader/input_validation.py
parentde9e1b9fe37928b864bea28b408de6c14d04526b (diff)
downloadgn-uploader-754e8f214b940e05298cb360ed829f5c685d55a5.tar.gz
Rename module: qc_app --> uploader
Diffstat (limited to 'uploader/input_validation.py')
-rw-r--r--uploader/input_validation.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/uploader/input_validation.py b/uploader/input_validation.py
new file mode 100644
index 0000000..9abe742
--- /dev/null
+++ b/uploader/input_validation.py
@@ -0,0 +1,27 @@
+"""Input validation utilities"""
+from typing import Any
+
+def is_empty_string(value: str) -> bool:
+ """Check whether as string is empty"""
+ return (isinstance(value, str) and value.strip() == "")
+
+def is_empty_input(value: Any) -> bool:
+ """Check whether user provided an empty value."""
+ return (value is None or is_empty_string(value))
+
+def is_integer_input(value: Any) -> bool:
+ """
+ Check whether user provided a value that can be parsed into an integer.
+ """
+ def __is_int__(val, base):
+ try:
+ int(val, base=base)
+ except ValueError:
+ return False
+ return True
+ return isinstance(value, int) or (
+ (not is_empty_input(value)) and (
+ isinstance(value, str) and (
+ __is_int__(value, 10)
+ or __is_int__(value, 8)
+ or __is_int__(value, 16))))