Major update: obiarrays with columns containing indices referring to

character strings.
This commit is contained in:
Celine Mercier
2015-11-06 17:55:15 +01:00
parent 456551ffeb
commit 9b066f4327
35 changed files with 632 additions and 532 deletions

View File

@ -80,7 +80,7 @@ cdef class OBIDMS :
cdef str data_type
cdef str creation_date
cdef obiversion_t latest_version
cdef size_t line_count
cdef index_t line_count
cdef OBIDMS_column_header_p header
p = Path(self.dms_name+'.obidms')
@ -117,8 +117,8 @@ cdef class OBIDMS :
bint clone=False, bint clone_data=True,
obiversion_t version_number=-1,
OBIType_t data_type= <OBIType_t> 0,
size_t nb_lines=0,
size_t nb_elements_per_line=0,
index_t nb_lines=0,
index_t nb_elements_per_line=0,
list elements_names=None,
str array_name="default_obiarray"):
@ -222,7 +222,7 @@ cdef class OBIDMS :
version_number, data_type,
nb_lines, nb_elements_per_line,
elements_names, array_name)
return column
@ -237,8 +237,8 @@ cdef class OBIDMS_column :
bint clone, bint clone_data,
obiversion_t version_number,
OBIType_t type,
size_t nb_lines,
size_t nb_elements_per_line,
index_t nb_lines,
index_t nb_elements_per_line,
list elements_names,
str array_name):
@ -279,8 +279,8 @@ cdef class OBIDMS_column :
def __iter__(self):
# Declarations
cdef size_t lines_used
cdef size_t line_nb
cdef index_t lines_used
cdef index_t line_nb
# Yield each line
lines_used = self.pointer.header.lines_used
@ -288,19 +288,19 @@ cdef class OBIDMS_column :
yield self.get_line(line_nb)
def __setitem__(self, size_t line_nb, object value):
def __setitem__(self, index_t line_nb, object value):
self.set_line(line_nb, value)
def __getitem__(self, size_t line_nb):
def __getitem__(self, index_t line_nb):
return self.get_line(line_nb)
# cpdef object get_item(self, size_t line_nb, str element_name): TODO
# cpdef object get_item(self, index_t line_nb, str element_name): TODO
# raise NotImplementedError
# cpdef set_item(self, size_t line_nb, str element_name, object value): TODO
# cpdef set_item(self, index_t line_nb, str element_name, object value): TODO
# raise NotImplementedError
@ -312,7 +312,7 @@ cdef class OBIDMS_column :
return self.data_type
cpdef size_t get_nb_lines_used(self):
cpdef index_t get_nb_lines_used(self):
return self.pointer.header.lines_used