def __init__(self, uuid="value_entry_uuid", **kwargs): """ """ self.entry_name = kwargs.pop('entry_name', 'an_entry_name') self.options = kwargs.pop('options', None) JNTValue.__init__(self, entry_name = "value_entry_name", uuid=uuid, **kwargs) self.instances = {} self._keys = {} """The different instances of the values (indexed on index)
def to_dict_with_indexes(self): """Retrieve a dict version of the value """ res = JNTValue.to_dict(self) #~ print "self.instances[0] %s"%self.instances[0] #~ print "---------------------------------------------------------- self.get_max_index() ", self.get_max_index() #~ print "---------------------------------------------------------- self.instances ", self.instances if self.get_max_index() == -1 or 'config' not in self.instances[0]: return res if self.get_max_index() == -1 or self.instances[0]['config'] == None: return {} ret = {} try: configs = self.get_index_configs() #~ print "self.get_index_configs() %s"%configs i = 0 #~ print i, res['label'] #~ print i, '%s'%self.instances #~ print i, '%s'%self.instances[i] while i <= self.get_max_index(): #~ print "---------------------------------------------------------- i ", i #~ print i, res['label'], configs[i] ret[i] = self.to_dict_with_index(i, res) i += 1 except: logger.exception('Exception in to_dict_with_indexes') #~ print "---------------------------------------------------------- ret ", ret return ret
def to_dict_with_index(self, index, initial=None): """Retrieve a json version of the value """ if initial is None: initial = JNTValue.to_dict(self) configs = self.get_index_configs() res = {} res.update(initial) #~ print "len(configs)", len(configs) if len(configs) == 0: return res res['index'] = index res['label'] = "%s (%s)" % (res['label'], configs[index]) if index in self.instances and 'data' in self.instances[index]: res['data'] = self.instances[index]['data'] elif self._get_data_cb is not None: res['data'] = self._get_data_cb(self.node_uuid, index) else: res['data'] = self.default #~ print "---------------------------------------------------------- res ", res return res