From 143bddf1d1a897c548f373bc1bc2a56baca73243 Mon Sep 17 00:00:00 2001 From: Celine Mercier Date: Fri, 7 Jul 2017 15:41:10 +0200 Subject: [PATCH] Cython API: Added an __iter__ method to the class Column_line (iterating on the elements names) (previously an iteration would work but with unexpected results) --- python/obitools3/dms/column/column.pyx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/python/obitools3/dms/column/column.pyx b/python/obitools3/dms/column/column.pyx index 9ce73ae..ea7f6c7 100644 --- a/python/obitools3/dms/column/column.pyx +++ b/python/obitools3/dms/column/column.pyx @@ -297,7 +297,7 @@ cdef class Column_multi_elts(Column) : cpdef set_line(self, index_t line_nb, object values): for element_name in values : self.set_item(line_nb, element_name, values[element_name]) - + ###################################################################################################### @@ -324,7 +324,15 @@ cdef class Column_line : def __repr__(self) : return str(self._column.get_line(self._index)) - + + def __iter__(self) : + cdef list elements_names + cdef bytes element_name + elements_names = self._column.elements_names + for element_name in elements_names : + yield element_name + + cpdef update(self, data): # TODO ????? if isinstance(data, dict): data=data.items()