(self, url: str, client: RedFishClient)
| 79 | NAME: str = "Endpoint" |
| 80 | |
| 81 | def __init__(self, url: str, client: RedFishClient) -> None: |
| 82 | self.log = get_logger(f"{__name__}:{Endpoint.NAME}") |
| 83 | self.url: str = url |
| 84 | self.client: RedFishClient = client |
| 85 | self._children: Dict[str, "Endpoint"] = {} |
| 86 | self.data: Dict[str, Any] = self.get_data() |
| 87 | self.id: str = "" |
| 88 | self.members_names: List[str] = [] |
| 89 | |
| 90 | if self.has_members: |
| 91 | self.members_names = self.get_members_names() |
| 92 | |
| 93 | if self.data: |
| 94 | try: |
| 95 | self.id = self.data["Id"] |
| 96 | except KeyError: |
| 97 | self.id = self.data["@odata.id"].split("/")[-1] |
| 98 | else: |
| 99 | self.log.warning(f"No data could be loaded for {self.url}") |
| 100 | |
| 101 | def __getitem__(self, key: str) -> "Endpoint": |
| 102 | if not isinstance(key, str) or not key or "/" in key: |
nothing calls this directly
no test coverage detected