def readFromJSON(self, data, huella=True): """Read project from stream huella: boolean to save project file to pychemqt_temporal""" # read configuration config = ConfigParser() for section, options in data["config"].items(): config.add_section(section) for option, value in options.items(): config.set(section, option, value) self.setConfig(config) if not huella: os.rename(conf_dir + "pychemqtrc_temporal", conf_dir + "pychemqtrc_temporal_bak") config.write(open(conf_dir + "pychemqtrc_temporal", "w")) # read equipments items = {} for id, equip in data["equipment"].items(): if id[0] == "e": index = equip["id"] eq = equipments[index]() eq.readFromJSON(equip) else: eq = None items[id] = eq self.setItems(items) # read streams streams = {} for id, stream in data["stream"].items(): id = int(id) up = stream["up"] down = stream["down"] ind_up = stream["ind_up"] ind_down = stream["ind_down"] obj = Corriente() obj.readFromJSON(stream) streams[id] = (up, down, ind_up, ind_down, obj) if huella: if down[0] == "e": equip = self.items[down] if isinstance(equip, Mixer): kwargs = {"entrada": obj, "id_entrada": ind_down} equip.cleanOldValues(**kwargs) else: kwargs = {equip.kwargsInput[ind_down]: obj} equip.kwargs.update(kwargs) if up[0] == "e": equip = self.items[up] # Equipment with variable output streams must be corrected while len(equip.salida) <= ind_up: equip.salida.append(None) equip.salida[ind_up] = obj self.setStreams(streams) if not huella: os.rename(conf_dir + "pychemqtrc_temporal_bak", conf_dir + "pychemqtrc_temporal")
def readFromJSON(self, data, huella=True): """Read project from stream huella: boolean to save project file to pychemqt_temporal""" # read configuration config = ConfigParser() for section, options in data["config"].items(): config.add_section(section) for option, value in options.items(): config.set(section, option, value) self.setConfig(config) if not huella: os.rename(conf_dir+"pychemqtrc_temporal", conf_dir+"pychemqtrc_temporal_bak") config.write(open(conf_dir+"pychemqtrc_temporal", "w")) # read equipments items = {} for id, equip in data["equipment"].items(): if id[0] == "e": index = equip["id"] eq = equipments[index]() eq.readFromJSON(equip) else: eq = None items[id] = eq self.setItems(items) # read streams streams = {} for id, stream in data["stream"].items(): id = int(id) up = stream["up"] down = stream["down"] ind_up = stream["ind_up"] ind_down = stream["ind_down"] obj = Corriente() obj.readFromJSON(stream) streams[id] = (up, down, ind_up, ind_down, obj) if huella: if down[0] == "e": equip = self.items[down] if isinstance(equip, Mixer): kwargs = {"entrada": obj, "id_entrada": ind_down} equip.cleanOldValues(**kwargs) else: kwargs = {equip.kwargsInput[ind_down]: obj} equip.kwargs.update(kwargs) if up[0] == "e": equip = self.items[up] # Equipment with variable output streams must be corrected while len(equip.salida) <= ind_up: equip.salida.append(None) equip.salida[ind_up] = obj self.setStreams(streams) if not huella: os.rename(conf_dir+"pychemqtrc_temporal_bak", conf_dir+"pychemqtrc_temporal")