rDrama/files/helpers/strings.py
2022-12-17 17:17:32 -06:00

17 lines
551 B
Python

import typing
# clean strings for searching
def sql_ilike_clean(my_str):
if my_str is None:
return None
return my_str.replace(r'\\', '').replace('_', r'\_').replace('%', '').strip()
# this will also just return a bool verbatim
def bool_from_string(input: typing.Union[str, bool]) -> bool:
if isinstance(input, bool):
return input
if input.lower() in ("yes", "true", "t", "on", "1"):
return True
if input.lower() in ("no", "false", "f", "off", "0"):
return False
raise ValueError(f"'{input}' is neither a bool nor a recognized string")