Beispiel #1
0
    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")
Beispiel #2
0
    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")