Skip to content

Commit

Permalink
pyfabm: make index method of NamedObjectList take str
Browse files Browse the repository at this point in the history
  • Loading branch information
jornbr committed Oct 21, 2024
1 parent 1509670 commit 57aea59
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/pyfabm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -886,19 +886,27 @@ def __init__(self, *data: Iterable[T]):
def __len__(self) -> int:
return len(self._data)

def __getitem__(self, key: Union[str, int]) -> T:
def __getitem__(self, key: Union[int, str]) -> T:
if isinstance(key, str):
return self.find(key)
return self._data[key]

def __contains__(self, key: Union[str, int]) -> bool:
def __contains__(self, key: Union[T, str]) -> bool:
if isinstance(key, str):
try:
self.find(key)
return True
except KeyError:
return False
return super().__contains__(key)
return key in self._data

def index(self, key: Union[T, str], *args) -> int:
if isinstance(key, str):
try:
key = self.find(key)
except KeyError:
raise ValueError
return self._data.index(key, *args)

def __repr__(self) -> str:
return repr(self._data)
Expand Down

0 comments on commit 57aea59

Please sign in to comment.