Cython API: fixes and improvements in Column API

This commit is contained in:
Celine Mercier
2017-07-28 10:27:04 +02:00
parent 01c69e7e25
commit 84bb93096f

View File

@ -198,7 +198,7 @@ cdef class Column(OBIWrapper) :
def __iter__(self):
cdef index_t line_nb
for line_nb in range(self.lines_used):
yield self[line_nb]
yield self.get_line(line_nb)
def __setitem__(self, index_t line_nb, object value):
@ -221,7 +221,7 @@ cdef class Column(OBIWrapper) :
def __repr__(self) :
cdef bytes s
s = self._alias + b", original name: " + self.original_name + b", version " + str2bytes(str(self.version)) + b", data type: " + self.data_type
return bytes2str(s) # TODO can't return bytes
return bytes2str(s)
cpdef close(self): # TODO discuss, can't be called bc then bug when closing view that tries to close it in C
@ -241,7 +241,7 @@ cdef class Column(OBIWrapper) :
def name(self):
return self._alias
@name.setter
def name(self, new_alias): # @DuplicatedSignature
def name(self, object new_alias): # @DuplicatedSignature
self._view.rename_column(self._alias, new_alias)
# elements_names property getter
@ -325,8 +325,8 @@ cdef class Column_line :
self._column.set_item(self._index, elt_id, value)
def __contains__(self, str element_name):
return (element_name in self._column.elements_names)
def __contains__(self, object element_name):
return (tobytes(element_name) in self._column.elements_names)
def __repr__(self) :