41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
import json
|
|
|
|
|
|
class State(object):
|
|
IGNORE = frozenset(['Coude', 'Noeud', 'P24', 'P0', 'Pulse'])
|
|
|
|
def __init__(self, cocosim_server):
|
|
self.cocosim_server = cocosim_server
|
|
self.conf = self.cocosim_server.conf["ui"]
|
|
self.composants = {}
|
|
self._exception = None
|
|
|
|
def load_conf(self, schema_d):
|
|
# Chargement des blocs
|
|
for nom, valeur in schema_d['blocs'].items():
|
|
if valeur['type'] not in self.IGNORE:
|
|
self.composants[nom] = None
|
|
|
|
def to_json(self):
|
|
if self._exception:
|
|
return json.dumps({'exn': self._exception})
|
|
else:
|
|
return json.dumps(self.composants)
|
|
|
|
def __iter__(self):
|
|
return self.conf.__iter__
|
|
|
|
def items(self):
|
|
return self.composants.items()
|
|
|
|
def keys(self):
|
|
return self.composants.keys()
|
|
|
|
def update(self, nom, valeur):
|
|
self.composants[nom] = valeur
|
|
|
|
def exception(self, e):
|
|
self._exception = e
|
|
|
|
def reset_exception(self):
|
|
self._exception = None |