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)
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
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