diff --git a/luxtronik/data_vector.py b/luxtronik/data_vector.py index c1deb7bf..21f3bdc5 100644 --- a/luxtronik/data_vector.py +++ b/luxtronik/data_vector.py @@ -35,8 +35,34 @@ def __iter__(self): @property def data(self): + """ + Return the internal `LuxtronikFieldsDictionary`. + Please check its documentation. + """ return self._data + def __getitem__(self, def_name_or_idx): + """ + Array-style access to method `get`. + Please check its documentation. + """ + return self.get(def_name_or_idx) + + def __setitem__(self, def_name_or_idx, value): + """ + Array-style access to method `set`. + Please check its documentation. + """ + return self.set(def_name_or_idx, value) + + + def __contains__(self, def_field_name_or_idx): + """ + Forward the `LuxtronikFieldsDictionary.__contains__` method. + Please check its documentation. + """ + return def_field_name_or_idx in self._data + def _name_lookup(self, name): """ Try to find the index using the given field name. @@ -94,3 +120,7 @@ def get(self, target): """Get entry by id or name.""" entry = self._lookup(target) return entry + + def set(self, target, value): + "TODO: Placeholder for future changes" + pass diff --git a/luxtronik/shi/vector.py b/luxtronik/shi/vector.py index 723aa4c9..36e7d39b 100644 --- a/luxtronik/shi/vector.py +++ b/luxtronik/shi/vector.py @@ -143,32 +143,12 @@ def empty(cls, version=LUXTRONIK_LATEST_SHI_VERSION, safe=True): obj._init_instance(version, safe) return obj - def __getitem__(self, def_name_or_idx): - return self.get(def_name_or_idx) - - def __setitem__(self, def_name_or_idx, value): - return self.set(def_name_or_idx, value) - def __len__(self): return len(self._data.pairs()) def __iter__(self): return iter([definition for definition, _ in self._data.pairs()]) - def __contains__(self, def_field_name_or_idx): - """ - Check whether the data vector contains a name, index, - or definition matching an added field, or the field itself. - - Args: - def_field_name_or_idx (LuxtronikDefinition | Base | str | int): - Definition object, field object, field name or register index. - - Returns: - True if the searched element was found, otherwise False. - """ - return def_field_name_or_idx in self._data - # properties and access methods ###############################################