Skip to content

fl_server_core.utils.strings

Functions:

Name Description
str2bool

Convert string to boolean.

Functions

str2bool

str2bool(value: str | None, fallback: bool | None = None) -> bool

Convert string to boolean.

Sources: https://stackoverflow.com/a/43357954

Parameters:

Name Type Description Default

value

str

value to convert

required

fallback

bool | None

Fallback if value can not be converted. If None raise ValueError. Defaults to None.

None

Raises:

Type Description
ValueError

value can not be converted and no fallback is specified

Returns:

Name Type Description
bool bool

boolean interpretation of value

Source code in fl_server_core/utils/strings.py
def str2bool(value: Optional[str], fallback: Optional[bool] = None) -> bool:
    """
    Convert string to boolean.

    Sources: <https://stackoverflow.com/a/43357954>

    Args:
        value (str): value to convert
        fallback (Optional[bool], optional): Fallback if value can not be converted.
            If None raise ValueError. Defaults to None.

    Raises:
        ValueError: value can not be converted and no fallback is specified

    Returns:
        bool: boolean interpretation of value
    """
    if value is not None:
        if isinstance(value, bool):
            return value
        if value.lower() in ("yes", "true", "t", "y", "1"):
            return True
        elif value.lower() in ("no", "false", "f", "n", "0"):
            return False
    if fallback is None:
        raise ValueError(f"Can not convert '{value}' to boolean.")
    return fallback