From 2e352293574e8c4c8bbe3f8d90dcf4f1330f9ee2 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Sun, 29 May 2016 12:54:13 +0200 Subject: [PATCH] Add conversion checking on the value of a seq column --- python/obitools3/obidms/_obidmscolumn_seq.pyx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/python/obitools3/obidms/_obidmscolumn_seq.pyx b/python/obitools3/obidms/_obidmscolumn_seq.pyx index 3dc67e9..0819d82 100644 --- a/python/obitools3/obidms/_obidmscolumn_seq.pyx +++ b/python/obitools3/obidms/_obidmscolumn_seq.pyx @@ -94,10 +94,16 @@ cdef class OBIDMS_column_multi_elts_seq(OBIDMS_column_multi_elts): cpdef set_item(self, index_t line_nb, str element_name, object value): cdef bytes value_b + if value is None : value_b = OBISeq_NA - else : + elif isinstance(value, bytes) : + value_b = value + elif isinstance(value, str) : value_b = str2bytes(value) + else: + raise TypeError('Sequence value must be of type Bytes, Str or None') + if obi_column_set_obiseq_with_elt_name_in_view(self.view.pointer, (self.pointer)[0], line_nb, str2bytes(element_name), value_b) < 0: raise Exception("Problem setting a value in a column")