1
# -*- coding: utf-8 -*-
3
# Copyright (c) 2006 - 2007 Detlev Offenbach <detlev@die-offenbachs.de>
7
Module implementing the writer class for writing an XML user project properties file.
12
from KdeQt.KQApplication import e4App
14
from XMLWriterBase import XMLWriterBase
15
from Config import userProjectFileFormatVersion
19
class UserProjectWriter(XMLWriterBase):
21
Class implementing the writer class for writing an XML user project properties file.
23
def __init__(self, file, projectName):
27
@param file open file (like) object for writing
28
@param projectName name of the project (string)
30
XMLWriterBase.__init__(self, file)
32
self.pudata = e4App().getObject("Project").pudata
33
self.pdata = e4App().getObject("Project").pdata
34
self.name = projectName
38
Public method to write the XML to the file.
40
XMLWriterBase.writeXML(self)
42
self._write('<!DOCTYPE UserProject SYSTEM "UserProject-%s.dtd">' % \
43
userProjectFileFormatVersion)
45
# add some generation comments
46
self._write("<!-- eric4 user project file for project %s -->" % self.name)
47
if Preferences.getProject("XMLTimestamp"):
48
self._write("<!-- Saved: %s -->" % time.strftime('%Y-%m-%d, %H:%M:%S'))
49
self._write("<!-- Copyright (C) %s %s, %s -->" % \
51
self.escape(self.pdata["AUTHOR"][0]),
52
self.escape(self.pdata["EMAIL"][0])))
55
self._write('<UserProject version="%s">' % userProjectFileFormatVersion)
57
# do the vcs override stuff
58
if self.pudata["VCSOVERRIDE"]:
59
self._write(" <VcsType>%s</VcsType>" % self.pudata["VCSOVERRIDE"][0])
60
if self.pudata["VCSSTATUSMONITORINTERVAL"]:
61
self._write(' <VcsStatusMonitorInterval value="%d" />' % \
62
self.pudata["VCSSTATUSMONITORINTERVAL"][0])
64
self._write("</UserProject>", newline = False)