示例#1
0
    def writeToStream(self, stream):
        """Write the project to stream"""
        # Write configuration
        stream.writeInt32(len(self.config.sections()))
        for section in self.config.sections():
            stream.writeString(section)
            stream.writeInt32(len(self.config.options(section)))
            for option in self.config.options(section):
                stream.writeString(option)
                stream.writeString(str(self.config.get(section, option)))

        # write equipments
        stream.writeInt32(len(self.items))
        for key, item in self.items.iteritems():
            stream.writeString(key)
            if key[0] == "e":
                stream.writeInt32(equipments.index(item.__class__))
                item.writeToStream(stream)

        # write streams
        stream.writeInt32(len(self.streams))
        for id, item in self.streams.iteritems():
            stream.writeInt32(id)
            stream.writeString(item[0])
            stream.writeString(item[1])
            stream.writeInt32(item[2])
            stream.writeInt32(item[3])
            item[4].writeToStream(stream)
示例#2
0
    def writeToJSON(self, data):
        """Write the project to a dictionary to save to file in json format"""
        # Write configuration
        config = {}
        for section in self.config.sections():
            section_dict = {}
            for option in self.config.options(section):
                section_dict[option] = self.config.get(section, option)
            config[section] = section_dict
        data["config"] = config

        # write equipments
        equipment = {}
        for key, equip in self.items.items():
            if key[0] == "e":
                eq = {}
                eq["id"] = equipments.index(equip.__class__)
                equip.writeToJSON(eq)
                equipment[key] = eq
        data["equipment"] = equipment

        # write streams
        streams = {}
        for id, item in self.streams.items():
            stream = {}
            stream["up"] = item[0]
            stream["down"] = item[1]
            stream["ind_up"] = item[2]
            stream["ind_down"] = item[3]
            item[4].writeToJSON(stream)
            streams[id] = stream
        data["stream"] = streams
示例#3
0
    def writeToStream(self, stream):
        """Write the project to stream"""
        # Write configuration
        stream.writeInt32(len(self.config.sections()))
        for section in self.config.sections():
            stream.writeString(section)
            stream.writeInt32(len(self.config.options(section)))
            for option in self.config.options(section):
                stream.writeString(option)
                stream.writeString(str(self.config.get(section, option)))

        # write equipments
        stream.writeInt32(len(self.items))
        for key, item in self.items.iteritems():
            stream.writeString(key)
            if key[0] == "e":
                stream.writeInt32(equipments.index(item.__class__))
                item.writeToStream(stream)

        # write streams
        stream.writeInt32(len(self.streams))
        for id, item in self.streams.iteritems():
            stream.writeInt32(id)
            stream.writeString(item[0])
            stream.writeString(item[1])
            stream.writeInt32(item[2])
            stream.writeInt32(item[3])
            item[4].writeToStream(stream)
示例#4
0
    def writeToJSON(self, data):
        """Write the project to a dictionary to save to file in json format"""
        # Write configuration
        config = {}
        for section in self.config.sections():
            section_dict = {}
            for option in self.config.options(section):
                section_dict[option] = self.config.get(section, option)
            config[section] = section_dict
        data["config"] = config

        # write equipments
        equipment = {}
        dependences = set()  #  Set of external dependences used
        for key, equip in self.items.items():
            if key[0] == "e":
                eq = {}
                eq["id"] = equipments.index(equip.__class__)
                equip.writeToJSON(eq)
                equipment[key] = eq
                if equip._dependence:
                    dependences.add(equip._dependence)
        data["equipment"] = equipment

        # write streams
        streams = {}
        for id, item in self.streams.items():
            stream = {}
            stream["up"] = item[0]
            stream["down"] = item[1]
            stream["ind_up"] = item[2]
            stream["ind_down"] = item[3]
            item[4].writeToJSON(stream)
            streams[id] = stream
            if item[4]._dependence:
                dependences.add(item[4]._dependence)
        data["stream"] = streams

        # write external dependences necessaries for the project
        data["external_dependences"] = dependences