Пример #1
0
 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)
Пример #2
0
 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
Пример #3
0
 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