1
0
Fork 0
onnx-web/api/onnx_web/utils.py

29 lines
853 B
Python
Raw Normal View History

2023-01-16 00:54:20 +00:00
from os import path
from typing import Any, Dict, Tuple
Border = Tuple[int, int, int, int]
Point = Tuple[int, int]
Size = Tuple[int, int]
def get_and_clamp_float(args, key: str, default_value: float, max_value: float, min_value=0.0) -> float:
return min(max(float(args.get(key, default_value)), min_value), max_value)
def get_and_clamp_int(args, key: str, default_value: int, max_value: int, min_value=1) -> int:
return min(max(int(args.get(key, default_value)), min_value), max_value)
def get_from_map(args, key: str, values: Dict[str, Any], default: Any):
selected = args.get(key, default)
if selected in values:
return values[selected]
else:
return values[default]
def safer_join(base, tail):
safer_path = path.relpath(path.normpath(path.join('/', tail)), '/')
return path.join(base, safer_path)