@@ -79,6 +79,23 @@ def __init__(self, name, value=None, parent=None, unit=None,
7979
8080 self .parent = parent
8181
82+ def __len__ (self ):
83+ return len (self ._value )
84+
85+ def __getitem__ (self , key ):
86+ return self ._value [key ]
87+
88+ def __setitem__ (self , key , item ):
89+ if int (key ) < 0 or int (key ) > self .__len__ ():
90+ raise IndexError ("odml.Property.__setitem__: key %i invalid for "
91+ "array of length %i" % (int (key ), self .__len__ ()))
92+ try :
93+ val = dtypes .get (item , self .dtype )
94+ self ._value [int (key )] = val
95+ except Exception :
96+ raise ValueError ("odml.Property.__setitem__: passed value cannot be "
97+ "converted to data type \' %s\' !" % self ._dtype )
98+
8299 @property
83100 def id (self ):
84101 return self ._id
@@ -490,22 +507,6 @@ def get_terminology_equivalent(self):
490507 except KeyError :
491508 return None
492509
493- def __len__ (self ):
494- return len (self ._value )
495-
496- def __getitem__ (self , key ):
497- return self ._value [key ]
498-
499- def __setitem__ (self , key , item ):
500- if int (key ) < 0 or int (key ) > self .__len__ ():
501- raise IndexError ("odml.Property.__setitem__: key %i invalid for array of length %i"
502- % (int (key ), self .__len__ ()))
503- try :
504- val = dtypes .get (item , self .dtype )
505- self ._value [int (key )] = val
506- except Exception :
507- raise ValueError ("odml.Property.__setitem__: passed value cannot be converted to data type \' %s\' !" % self ._dtype )
508-
509510 def extend (self , obj , strict = True ):
510511 """
511512 Extend the list of values stored in this property by the passed values. Method
0 commit comments