in presidio-image-redactor/presidio_image_redactor/entities/api_request_convertor.py [0:0]
def color_fill_string_to_value(json_params: dict) -> Union[int, Tuple[int, int, int]]:
"""
Get color_fill and checks it is valid for image redaction.
color_fill can be an int or Tuple[int, int, int] of (R, G, B)
:param json_params: {"color_fill":"1,1,1"}
:return: int or Tuple[int, int, int]
"""
filling_str = json_params.get("color_fill")
try:
if not filling_str:
return 0, 0, 0
filling_str_split = filling_str.split(",")
if len(filling_str_split) == 1:
return int(filling_str_split[0])
if len(filling_str_split) != 3:
raise InvalidParamException(f"Invalid color fill '{filling_str}'")
return tuple(map(int, filling_str_split))
except Exception as e:
logger.error(f"failed to color fill '{filling_str}' with error {e}")
raise InvalidParamException(f"Invalid color fill '{filling_str}'")