mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-07-03 06:31:28 +00:00
first commit
This commit is contained in:
42
.venv/Lib/site-packages/pip/_vendor/rich/protocol.py
Normal file
42
.venv/Lib/site-packages/pip/_vendor/rich/protocol.py
Normal file
@ -0,0 +1,42 @@
|
||||
from typing import Any, cast, Set, TYPE_CHECKING
|
||||
from inspect import isclass
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from pip._vendor.rich.console import RenderableType
|
||||
|
||||
_GIBBERISH = """aihwerij235234ljsdnp34ksodfipwoe234234jlskjdf"""
|
||||
|
||||
|
||||
def is_renderable(check_object: Any) -> bool:
|
||||
"""Check if an object may be rendered by Rich."""
|
||||
return (
|
||||
isinstance(check_object, str)
|
||||
or hasattr(check_object, "__rich__")
|
||||
or hasattr(check_object, "__rich_console__")
|
||||
)
|
||||
|
||||
|
||||
def rich_cast(renderable: object) -> "RenderableType":
|
||||
"""Cast an object to a renderable by calling __rich__ if present.
|
||||
|
||||
Args:
|
||||
renderable (object): A potentially renderable object
|
||||
|
||||
Returns:
|
||||
object: The result of recursively calling __rich__.
|
||||
"""
|
||||
from pip._vendor.rich.console import RenderableType
|
||||
|
||||
rich_visited_set: Set[type] = set() # Prevent potential infinite loop
|
||||
while hasattr(renderable, "__rich__") and not isclass(renderable):
|
||||
# Detect object which claim to have all the attributes
|
||||
if hasattr(renderable, _GIBBERISH):
|
||||
return repr(renderable)
|
||||
cast_method = getattr(renderable, "__rich__")
|
||||
renderable = cast_method()
|
||||
renderable_type = type(renderable)
|
||||
if renderable_type in rich_visited_set:
|
||||
break
|
||||
rich_visited_set.add(renderable_type)
|
||||
|
||||
return cast(RenderableType, renderable)
|
Reference in New Issue
Block a user