Method: rich.protocol.rich_cast
Calls: 5722, Exceptions: 0, Paths: 4Back
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.
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.
test_cast_recursive.
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)