diff --git a/python/obitools3/commands/import.pyx b/python/obitools3/commands/import.pyx index 2798d77..418a9a9 100755 --- a/python/obitools3/commands/import.pyx +++ b/python/obitools3/commands/import.pyx @@ -237,7 +237,8 @@ def run(config): dcols[tag] = (view.rewrite_column_with_diff_attributes(old_column.name, new_data_type=new_type, new_nb_elements_per_line=new_nb_elements_per_line, - new_elements_names=new_elements_names), + new_elements_names=new_elements_names, + rewrite_last_line=False), value_obitype) # Update the dictionary: diff --git a/python/obitools3/dms/view/view.pxd b/python/obitools3/dms/view/view.pxd index f1f2357..d83575b 100755 --- a/python/obitools3/dms/view/view.pxd +++ b/python/obitools3/dms/view/view.pxd @@ -32,7 +32,8 @@ cdef class View(OBIWrapper): object column_name, obitype_t new_data_type=*, index_t new_nb_elements_per_line=*, - list new_elements_names=*) + list new_elements_names=*, + bint rewrite_last_line=*) cpdef Line_selection new_selection(self, list lines=*) diff --git a/python/obitools3/dms/view/view.pyx b/python/obitools3/dms/view/view.pyx index 91fc8b3..5e1c720 100755 --- a/python/obitools3/dms/view/view.pyx +++ b/python/obitools3/dms/view/view.pyx @@ -267,13 +267,17 @@ cdef class View(OBIWrapper) : object column_name, obitype_t new_data_type=OBI_VOID, index_t new_nb_elements_per_line=0, - list new_elements_names=None) : + list new_elements_names=None, + bint rewrite_last_line=False) : cdef Column old_column cdef Column new_column - cdef index_t length = len(self) - 1 + cdef index_t length = len(self) # TODO because last line triggered error that triggered rewriting, but needs a cleaner way, or at least good documentation cdef column_name_b = tobytes(column_name) + if rewrite_last_line is False: + length-=1 + if not self.active() : raise OBIDeactivatedInstanceError()