@@ -68,10 +68,10 @@ def __init__(self,
6868
6969 def __new__ (cls , * args , ** kwargs ):
7070 new_mds = super ().__new__ (cls )
71- attributes = { ' _id' : None , ' _name' : '' , ' _description' : '' , ' _properties' : {}, '_unit_of_measurement' : [],
72- '_observation_type' : '' , '_multi_observation_data_types' : [], ' _observed_area' : None ,
73- '_phenomenon_time' : None , '_result_time' : None , '_thing' : None , '_sensor' : None ,
74- '_observed_properties' : None , '_observations' : None , '_self_link' : '' , ' _service' : None }
71+ attributes = dict ( _id = None , _name = '' , _description = '' , _properties = {}, _observation_type = '' , _multi_observation_data_types = [],
72+ _unit_of_measurements = [], _observed_area = None , _phenomenon_time = None , _result_time = None ,
73+ _thing = None , _sensor = None , _observed_properties = None , _observations = None , _self_link = '' ,
74+ _service = None )
7575 for key , value in attributes .items ():
7676 new_mds .__dict__ [key ] = value
7777 return new_mds
@@ -121,16 +121,9 @@ def unit_of_measurements(self):
121121
122122 @unit_of_measurements .setter
123123 def unit_of_measurements (self , values ):
124- if values is None :
125- self ._unit_of_measurements = None
126- return
127- if isinstance (values , list ) and all (isinstance (uom , unitofmeasurement .UnitOfMeasurement ) for uom in values ):
128- entity_class = entity_type .EntityTypes ['UnitOfMeasurement' ]['class' ]
129- self ._unit_of_measurements = entity_list .EntityList (entity_class = entity_class , entities = values )
130- return
131- if not isinstance (values , entity_list .EntityList ) or \
132- any ((not isinstance (uom , unitofmeasurement .UnitOfMeasurement )) for uom in values .entities ):
133- raise ValueError ('unit_of_measurements should be an entity_list of type UnitOfMeasurement' )
124+ if values is not None and (not isinstance (values , list ) or \
125+ any ((not isinstance (uom , unitofmeasurement .UnitOfMeasurement )) for uom in values )):
126+ raise ValueError ('unit_of_measurements should be a list of type UnitOfMeasurement' )
134127 self ._unit_of_measurements = values
135128
136129 @property
@@ -306,14 +299,14 @@ def __getstate__(self):
306299 data ['Sensor' ] = self .sensor
307300 if self .properties is not None and self .properties != {}:
308301 data ['properties' ] = self .properties
309- if self . unit_of_measurements is not None and len (self .unit_of_measurements . entities ) > 0 :
310- data ['unitOfMeasurements' ] = self .unit_of_measurements . __getstate__ ()
302+ if len (self .unit_of_measurements ) > 0 :
303+ data ['unitOfMeasurements' ] = self .unit_of_measurements
311304 if len (self .multi_observation_data_types ) > 0 :
312305 data ['multiObservationDataTypes' ] = self .multi_observation_data_types
313306 if self .observed_properties is not None and len (self .observed_properties .entities ) > 0 :
314- data ['ObservedProperty ' ] = self .observed_properties .__getstate__ ()
307+ data ['ObservedProperties ' ] = self .observed_properties .__getstate__ ()
315308 if self .observations is not None and len (self .observations .entities ) > 0 :
316- data ['Observation ' ] = self .observations .__getstate__ ()
309+ data ['Observations ' ] = self .observations .__getstate__ ()
317310 return data
318311
319312 def __setstate__ (self , state ):
@@ -331,10 +324,11 @@ def __setstate__(self, state):
331324 if state .get ('Sensor' , None ) is not None :
332325 self .sensor = frost_sta_client .model .sensor .Sensor ()
333326 self .sensor .__setstate__ (state ['Sensor' ])
334- if state .get ('unitOfMeasurements' , None ) is not None and isinstance (state ['unitOfMeasurements' ], list ):
335- entity_class = entity_type .EntityTypes ['UnitOfMeasurement' ]['class' ]
336- self .unit_of_measurements = utils .transform_json_to_entity_list (state ['unitOfMeasurements' ], entity_class )
337- self .unit_of_measurements .next_link = state .get ('unitOfMeasurements' , None )
327+ if state .get ('unitOfMeasurements' , None ) is not None \
328+ and isinstance (state ['unitOfMeasurements' ], list ):
329+ self .unit_of_measurements = []
330+ for value in state ['unitOfMeasurements' ]:
331+ self .unit_of_measurements .append (value )
338332 if state .get ('multiObservationDataTypes' , None ) is not None \
339333 and isinstance (state ['multiObservationDataTypes' ], list ):
340334 self .multi_observation_data_types = []
0 commit comments