Cython API: Fixed a bug when setting NA values in Column_multi_elts, and

added some properties
This commit is contained in:
Celine Mercier
2017-07-27 19:31:15 +02:00
parent 69c50ff922
commit 3d7aa52c90

View File

@ -131,7 +131,7 @@ cdef class Column(OBIWrapper) :
column_p = column_pp[0]
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,7 +258,12 @@ 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
@ -295,6 +300,10 @@ cdef class Column_multi_elts(Column) :
return Column_line(self, line_nb)
cpdef set_line(self, index_t line_nb, object values):
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])
@ -333,6 +342,17 @@ cdef class Column_line :
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 ?????
if isinstance(data, dict):
data=data.items()