1
0
Fork 0

fix(api): handle parameters correctly when list of valid values is empty (fixes #72)

This commit is contained in:
Sean Sube 2023-01-22 15:44:31 -06:00
parent 876b54a7a8
commit 2921eba1f6
1 changed files with 9 additions and 6 deletions

View File

@ -111,16 +111,19 @@ def get_and_clamp_int(args: Any, key: str, default_value: int, max_value: int, m
return min(max(int(args.get(key, default_value)), min_value), max_value)
def get_from_list(args: Any, key: str, values: List[Any]):
selected = args.get(key, values[0])
def get_from_list(args: Any, key: str, values: List[Any]) -> Union[Any, None]:
selected = args.get(key, None)
if selected in values:
return selected
else:
print('invalid selection: %s' % (selected))
print('invalid selection: %s' % (selected))
if len(values) > 0:
return values[0]
return None
def get_from_map(args: Any, key: str, values: Dict[str, Any], default: Any):
def get_from_map(args: Any, key: str, values: Dict[str, Any], default: Any) -> Any:
selected = args.get(key, default)
if selected in values:
return values[selected]
@ -128,7 +131,7 @@ def get_from_map(args: Any, key: str, values: Dict[str, Any], default: Any):
return values[default]
def get_not_empty(args: Any, key: str, default: Any):
def get_not_empty(args: Any, key: str, default: Any) -> Any:
val = args.get(key, default)
if val is None or len(val) == 0: