diff --git a/python/obitools3/dms/view/view.pyx b/python/obitools3/dms/view/view.pyx index 267f127..a9e1466 100644 --- a/python/obitools3/dms/view/view.pyx +++ b/python/obitools3/dms/view/view.pyx @@ -444,9 +444,12 @@ cdef class Line : # TODO use functions in utils + #print(column_name, "value:", value, type(value)) + if column_name_b not in self._view : - if value == None : - raise RollbackException("Trying to create a column from a None value (can't guess type)", self) + if value is None : + return # TODO discuss. This means that columns aren't created until an identifiable type is found + #raise RollbackException("Trying to create a column from a None value (can't guess type)", self) value_type = type(value) if value_type == int : value_obitype = OBI_INT @@ -636,13 +639,15 @@ cdef class Line_selection(list): class RollbackException(Exception): - def __init__(self, message, View view): + def __init__(self, message, *views): super(RollbackException, self).__init__(message) - if obi_rollback_view((view.pointer())) < 0 : - raise Exception("Error rollbacking view") - if view.active() : - view._dms.unregister(view) - OBIWrapper.close(view) + for i in range(len(views)): + view = (views[i]) + if obi_rollback_view((view.pointer())) < 0 : + raise Exception("Error rollbacking view") + if view.active() : + view._dms.unregister(view) + OBIWrapper.close(view) class CantGuessTypeException(Exception):