From 9226633c412835b1e8b445287fd2a9ef99343676 Mon Sep 17 00:00:00 2001 From: Johannes Messner Date: Fri, 26 Aug 2022 13:54:53 +0200 Subject: [PATCH 1/4] fix(plot): be robust against non-existing subindices --- docarray/array/mixins/plot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docarray/array/mixins/plot.py b/docarray/array/mixins/plot.py index b9fe8909d15..86c62d50498 100644 --- a/docarray/array/mixins/plot.py +++ b/docarray/array/mixins/plot.py @@ -79,7 +79,7 @@ def summary(self): is_multimodal = all(d.is_multimodal for d in self) table.add_row('Multimodal dataclass', str(is_multimodal)) - if getattr(self, '_subindices'): + if getattr(self, '_subindices', None): table.add_row( 'Subindices', rich.markup.escape(str(tuple(self._subindices.keys()))) ) From c6b1eaf0d584e8c31bd9a5b2474a0b093c39869e Mon Sep 17 00:00:00 2001 From: Johannes Messner Date: Mon, 14 Nov 2022 11:12:14 +0100 Subject: [PATCH 2/4] fix: handle backends not having list_like attribute Signed-off-by: Johannes Messner --- docarray/array/storage/base/getsetdel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docarray/array/storage/base/getsetdel.py b/docarray/array/storage/base/getsetdel.py index ae56c0a5c1f..1bc801a99be 100644 --- a/docarray/array/storage/base/getsetdel.py +++ b/docarray/array/storage/base/getsetdel.py @@ -129,7 +129,7 @@ def _del_docs_by_mask(self, mask: Sequence[bool]): def _del_all_docs(self): self._clear_subindices() self._clear_storage() - self._offset2ids = Offset2ID(list_like=self._list_like) + self._offset2ids = Offset2ID(list_like=getattr(self, '_list_like', None)) def _del_docs_by_ids(self, ids): """This function is derived from :meth:`_del_doc_by_id` From 8b53fa2b56639e99880741cde7ed8d3d5fb97f6f Mon Sep 17 00:00:00 2001 From: Johannes Messner Date: Mon, 14 Nov 2022 11:24:30 +0100 Subject: [PATCH 3/4] docs: format docstring Signed-off-by: Johannes Messner --- docarray/array/storage/base/getsetdel.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docarray/array/storage/base/getsetdel.py b/docarray/array/storage/base/getsetdel.py index 1bc801a99be..0bfed6d9433 100644 --- a/docarray/array/storage/base/getsetdel.py +++ b/docarray/array/storage/base/getsetdel.py @@ -121,6 +121,7 @@ def _del_docs_by_slice(self, _slice: slice): def _del_docs_by_mask(self, mask: Sequence[bool]): """This function is derived and may not have the most efficient implementation. Override this function if there is a more efficient logic + :param mask: the boolean mask used for indexing """ ids = list(itertools.compress(self._offset2ids, (_i for _i in mask))) From 6aed7b377e0a240612614529bde19fcf2a0c2e41 Mon Sep 17 00:00:00 2001 From: Johannes Messner <44071807+JohannesMessner@users.noreply.github.com> Date: Mon, 14 Nov 2022 11:33:49 +0100 Subject: [PATCH 4/4] refactor: update docarray/array/storage/base/getsetdel.py Co-authored-by: Joan Fontanals Signed-off-by: Johannes Messner <44071807+JohannesMessner@users.noreply.github.com> --- docarray/array/storage/base/getsetdel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docarray/array/storage/base/getsetdel.py b/docarray/array/storage/base/getsetdel.py index 0bfed6d9433..0c672fde963 100644 --- a/docarray/array/storage/base/getsetdel.py +++ b/docarray/array/storage/base/getsetdel.py @@ -130,7 +130,7 @@ def _del_docs_by_mask(self, mask: Sequence[bool]): def _del_all_docs(self): self._clear_subindices() self._clear_storage() - self._offset2ids = Offset2ID(list_like=getattr(self, '_list_like', None)) + self._offset2ids = Offset2ID(list_like=getattr(self, '_list_like', True)) def _del_docs_by_ids(self, ids): """This function is derived from :meth:`_del_doc_by_id`