From 663a1a10914750ade3cafde3fc2201265bd64d8c Mon Sep 17 00:00:00 2001 From: Celine Mercier Date: Sun, 20 Aug 2017 17:44:05 +0200 Subject: [PATCH] Cython API: column elements: added possibility to check if an element exists from its index, and a dict-like get() method --- python/obitools3/dms/column/column.pyx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/python/obitools3/dms/column/column.pyx b/python/obitools3/dms/column/column.pyx index 9d64b22..65f37a3 100644 --- a/python/obitools3/dms/column/column.pyx +++ b/python/obitools3/dms/column/column.pyx @@ -371,8 +371,18 @@ cdef class Column_line : self._column.set_item(self._index, elt_id, value) - def __contains__(self, object element_name): - return (tobytes(element_name) in self._column.elements_names) + def get(self, object elt_id, object default=None): # TODO returns default if None??? + if elt_id in self: + return self._column.get_item(self._index, elt_id) + else: + return default + + + def __contains__(self, object elt_id): + if type(elt_id) == int: + return elt_id < self._column.nb_elements_per_line + else: + return (tobytes(elt_id) in self._column.elements_names) def __repr__(self) :