From e19a0090f7f55565e7b2615a5f4f3e5cea8d2750 Mon Sep 17 00:00:00 2001 From: Will McGugan Date: Thu, 25 Aug 2022 17:17:25 +0100 Subject: [PATCH] further optimizations --- src/textual/dom.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/textual/dom.py b/src/textual/dom.py index e33fa780d..1218820fd 100644 --- a/src/textual/dom.py +++ b/src/textual/dom.py @@ -87,6 +87,7 @@ class DOMNode(MessagePump): self._auto_refresh: float | None = None self._auto_refresh_timer: Timer | None = None + self._css_types = {cls.__name__ for cls in self._css_bases(self.__class__)} super().__init__() @@ -144,10 +145,6 @@ class DOMNode(MessagePump): # Node bases are in reversed order so that the base class is lower priority return self._css_bases(self.__class__) - @property - def css_types(self) -> set[str]: - return {cls.__name__ for cls in self._css_bases(self.__class__)} - @classmethod def _css_bases(cls, base: Type[DOMNode]) -> Iterator[Type[DOMNode]]: """Get the DOMNode base classes, which inherit CSS. @@ -325,7 +322,7 @@ class DOMNode(MessagePump): selectors: list[str] = [ *(f".{class_name}" for class_name in self._classes), *(f":{class_name}" for class_name in self.get_pseudo_classes()), - *self.css_types, + *self._css_types, ] if self._id is not None: selectors.append(f"#{self._id}")