Source code for cantools.database.namedsignalvalue

from typing import Any, Dict, Optional


[docs]class NamedSignalValue: """Represents a named value of a signal. Named values map an integer number to a human-readable string. Some file formats like ARXML support specifying descriptions for the named value. """ def __init__( self, value: int, name: str, comments: Optional[Dict[str, str]] = None, ) -> None: #: The text intended for human consumption which the specified integer #: is mapped to. self.name = name #: The integer value that gets mapped. self.value = value self._comments = comments or {} @property def comments(self) -> Dict[str, str]: """The descriptions of the named value This is a dictionary containing the descriptions in multiple languages. The dictionary is indexed by the language. Example: .. code:: text # retrieve the English comment of the named value or an empty # string if none was specified. named_value.comments.get("EN", "") """ return self._comments def __str__(self) -> str: return f"{self.name}" def __repr__(self) -> str: return f"'{self.name}'" def __eq__(self, x: Any) -> bool: if isinstance(x, NamedSignalValue): return ( x.value == self.value and x.name == self.name and x.comments == self.comments ) elif isinstance(x, str): return x == self.name return False