def formatted_time_to_seconds()

in idb/grpc/xctrace.py [0:0]


def formatted_time_to_seconds(formatted_time: Optional[str]) -> Optional[float]:
    if not formatted_time:
        return None
    pattern = r"^([1-9]\d*)(ms|s|m|h)$"
    match = re.search(pattern, formatted_time)
    if not match:
        raise Exception(
            f"Invalid time limit format: {formatted_time}. time[ms|s|m|h] expected"
        )
    time = float(match.group(1))
    if match.group(2) == "ms":
        return time / 1000.0
    elif match.group(2) == "m":
        return time * 60.0
    elif match.group(2) == "h":
        return time * 60.0 * 60.0
    else:
        return time