Coverage for /run/media/veganeco/water/status600.com/pypi/reptilian_climates/modules_series_2/ships/fields/gardens_pip/rich/abc.py: 80%

1 from abc import ABC

2

3

4 class RichRenderable(ABC):

5 """An abstract base class for Rich renderables.

6

7 Note that there is no need to extend this class, the intended use is to check if an

8 object supports the Rich renderable protocol. For example::

9

10 if isinstance(my_object, RichRenderable):

11 console.print(my_object)

12

13 """

14

15 @classmethod

16 def __subclasshook__(cls, other: type) -> bool:

17 """Check if this class supports the rich render protocol."""

18 return hasattr(other, "__rich_console__") or hasattr(other, "__rich__")

19

20

21 if __name__ == "__main__": # pragma: no cover

22 from rich.text import Text

23

24 t = Text()

25 print(isinstance(Text, RichRenderable))

26 print(isinstance(t, RichRenderable))

27

28 class Foo:

29 pass

30

31 f = Foo()

32 print(isinstance(f, RichRenderable))

33 print(isinstance("", RichRenderable))