--- a/eric7/E5XML/MultiProjectWriter.py Fri May 21 20:14:48 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the writer class for writing an XML multi project file. -""" - -import os -import time - -from .XMLStreamWriterBase import XMLStreamWriterBase -from .Config import multiProjectFileFormatVersion - -import Preferences -import Utilities - - -class MultiProjectWriter(XMLStreamWriterBase): - """ - Class implementing the writer class for writing an XML project file. - """ - def __init__(self, device, multiProject, multiProjectName): - """ - Constructor - - @param device reference to the I/O device to write to (QIODevice) - @param multiProject Reference to the multi project object - @param multiProjectName name of the project (string) - """ - XMLStreamWriterBase.__init__(self, device) - - self.name = multiProjectName - self.multiProject = multiProject - self.path = os.path.dirname(device.fileName()) - - def writeXML(self): - """ - Public method to write the XML to the file. - """ - XMLStreamWriterBase.writeXML(self) - - self.writeDTD('<!DOCTYPE MultiProject SYSTEM "MultiProject-{0}.dtd">' - .format(multiProjectFileFormatVersion)) - - # add some generation comments - self.writeComment(" eric multi project file for multi project {0} " - .format(self.name)) - if Preferences.getMultiProject("TimestampFile"): - self.writeComment( - " Saved: {0} ".format(time.strftime('%Y-%m-%d, %H:%M:%S'))) - self.writeComment( - " Copyright (C) {0} ".format(time.strftime('%Y'))) - - # add the main tag - self.writeStartElement("MultiProject") - self.writeAttribute("version", multiProjectFileFormatVersion) - - # do description - self.writeTextElement("Description", self.multiProject.description) - - # do the projects - self.writeStartElement("Projects") - for project in self.multiProject.getProjects(): - self.writeStartElement("Project") - self.writeAttribute("isMaster", str(project['master'])) - self.writeAttribute("uid", project["uid"]) - self.writeTextElement("ProjectName", project['name']) - self.writeTextElement( - "ProjectFile", - Utilities.relativeUniversalPath(project['file'], self.path)) - self.writeTextElement("ProjectDescription", project['description']) - self.writeTextElement("ProjectCategory", project['category']) - self.writeEndElement() - self.writeEndElement() - - self.writeEndElement() - self.writeEndDocument()