Get metadata values for trait by key.
(self, traitname: str, key: str, default: t.Any = None)
| 1948 | return result |
| 1949 | |
| 1950 | def trait_metadata(self, traitname: str, key: str, default: t.Any = None) -> t.Any: |
| 1951 | """Get metadata values for trait by key.""" |
| 1952 | try: |
| 1953 | trait = getattr(self.__class__, traitname) |
| 1954 | except AttributeError as e: |
| 1955 | raise TraitError( |
| 1956 | f"Class {self.__class__.__name__} does not have a trait named {traitname}" |
| 1957 | ) from e |
| 1958 | metadata_name = "_" + traitname + "_metadata" |
| 1959 | if hasattr(self, metadata_name) and key in getattr(self, metadata_name): |
| 1960 | return getattr(self, metadata_name).get(key, default) |
| 1961 | else: |
| 1962 | return trait.metadata.get(key, default) |
| 1963 | |
| 1964 | @classmethod |
| 1965 | def class_own_trait_events(cls: type[HasTraits], name: str) -> dict[str, EventHandler]: |