Path 1: 5683 calls (0.99)

Text (1838) Padding (1747) Control (335) Table (204) Pretty (133) LiveRender (115) Group (101) '' (94) Panel (89) Renderables (61)

Text (1838) Padding (1747) Control (335) Table (204) Pretty (133) LiveRender (115) Group (101) '' (94) Panel (89) Renderables (61)

1def rich_cast(renderable: object) -> "RenderableType":
2    """Cast an object to a renderable by calling __rich__ if present.
3
4    Args:
5        renderable (object): A potentially renderable object
6
7    Returns:
8        object: The result of recursively calling __rich__.
9    """
10    from rich.console import RenderableType
11
12    rich_visited_set: Set[type] = set()  # Prevent potential infinite loop
13    while hasattr(renderable, "__rich__") and not isclass(renderable):
14        # Detect object which claim to have all the attributes
15        if hasattr(renderable, _GIBBERISH):
16            return repr(renderable)
17        cast_method = getattr(renderable, "__rich__")
18        renderable = cast_method()
19        renderable_type = type(renderable)
20        if renderable_type in rich_visited_set:
21            break
22        rich_visited_set.add(renderable_type)
23
24    return cast(RenderableType, renderable)
            

Path 2: 37 calls (0.01)

Inspect (16) JSON (8) InvalidResponse (8) Foo (3) test_cast_deep..A (1) Status (1)

Panel (16) Text (12) '[prompt.invalid]Please enter Y or N' (6) '[prompt.invalid.choice]Please select one of the available options' (1) '[prompt.invali...

1def rich_cast(renderable: object) -> "RenderableType":
2    """Cast an object to a renderable by calling __rich__ if present.
3
4    Args:
5        renderable (object): A potentially renderable object
6
7    Returns:
8        object: The result of recursively calling __rich__.
9    """
10    from rich.console import RenderableType
11
12    rich_visited_set: Set[type] = set()  # Prevent potential infinite loop
13    while hasattr(renderable, "__rich__") and not isclass(renderable):
14        # Detect object which claim to have all the attributes
15        if hasattr(renderable, _GIBBERISH):
16            return repr(renderable)
17        cast_method = getattr(renderable, "__rich__")
18        renderable = cast_method()
19        renderable_type = type(renderable)
20        if renderable_type in rich_visited_set:
21            break
22        rich_visited_set.add(renderable_type)
23
24    return cast(RenderableType, renderable)
            

Path 3: 1 calls (0.0)

Fake (1)

'Fake()' (1)

1def rich_cast(renderable: object) -> "RenderableType":
2    """Cast an object to a renderable by calling __rich__ if present.
3
4    Args:
5        renderable (object): A potentially renderable object
6
7    Returns:
8        object: The result of recursively calling __rich__.
9    """
10    from rich.console import RenderableType
11
12    rich_visited_set: Set[type] = set()  # Prevent potential infinite loop
13    while hasattr(renderable, "__rich__") and not isclass(renderable):
14        # Detect object which claim to have all the attributes
15        if hasattr(renderable, _GIBBERISH):
16            return repr(renderable)
17        cast_method = getattr(renderable, "__rich__")
18        renderable = cast_method()
19        renderable_type = type(renderable)
20        if renderable_type in rich_visited_set:
21            break
22        rich_visited_set.add(renderable_type)
23
24    return cast(RenderableType, renderable)
            

Path 4: 1 calls (0.0)

test_cast_recursive..A (1)

test_cast_recursive..B (1)

1def rich_cast(renderable: object) -> "RenderableType":
2    """Cast an object to a renderable by calling __rich__ if present.
3
4    Args:
5        renderable (object): A potentially renderable object
6
7    Returns:
8        object: The result of recursively calling __rich__.
9    """
10    from rich.console import RenderableType
11
12    rich_visited_set: Set[type] = set()  # Prevent potential infinite loop
13    while hasattr(renderable, "__rich__") and not isclass(renderable):
14        # Detect object which claim to have all the attributes
15        if hasattr(renderable, _GIBBERISH):
16            return repr(renderable)
17        cast_method = getattr(renderable, "__rich__")
18        renderable = cast_method()
19        renderable_type = type(renderable)
20        if renderable_type in rich_visited_set:
21            break
22        rich_visited_set.add(renderable_type)
23
24    return cast(RenderableType, renderable)