diff --git a/python/obitools3/dms/column/column.pyx b/python/obitools3/dms/column/column.pyx index ea7f6c7..b4a3847 100644 --- a/python/obitools3/dms/column/column.pyx +++ b/python/obitools3/dms/column/column.pyx @@ -86,7 +86,7 @@ cdef class Column(OBIWrapper) : elements_names_p = elements_names_b else: elements_names_p = NULL - + if (obi_view_add_column(view = view.pointer(), column_name = column_name_b, version_number = -1, @@ -129,9 +129,9 @@ cdef class Column(OBIWrapper) : )) column_p = column_pp[0] - column_type = column_p.header.returned_data_type + column_type = column_p.header.returned_data_type column_class = Column.get_column_class(column_type, (column_p.header.nb_elements_per_line > 1)) - column = OBIWrapper.new(column_class, column_pp) + column = OBIWrapper.new_wrapper(column_class, column_pp) column._view = view column._alias = column_name_b @@ -258,8 +258,13 @@ cdef class Column(OBIWrapper) : # data_type property getter @property def data_type(self): - return name_data_type(self.pointer().header.returned_data_type) + return name_data_type(self.data_type_int) + # data_type integer code property getter + @property + def data_type_int(self): + return self.pointer().header.returned_data_type + # original_name property getter @property def original_name(self): @@ -295,9 +300,13 @@ cdef class Column_multi_elts(Column) : return Column_line(self, line_nb) 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]) - + if values is None : + for element_name in self.elements_names : + self.set_item(line_nb, element_name, None) + else : + for element_name in values : + self.set_item(line_nb, element_name, values[element_name]) + ###################################################################################################### @@ -331,6 +340,17 @@ cdef class Column_line : elements_names = self._column.elements_names for element_name in elements_names : yield element_name + + + # column property getter + @property + def column(self): + return self._column + + # index property getter + @property + def index(self): + return self._index cpdef update(self, data): # TODO ?????