E4XML/DebuggerPropertiesWriter.py

changeset 0
de9c2efb9d02
child 12
1d8dd9706f46
equal deleted inserted replaced
-1:000000000000 0:de9c2efb9d02
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2005 - 2009 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the writer class for writing an XML project debugger properties file.
8 """
9
10 import os
11 import time
12
13 from E4Gui.E4Application import e4App
14
15 from XMLWriterBase import XMLWriterBase
16 from Config import debuggerPropertiesFileFormatVersion
17
18 import Preferences
19
20 class DebuggerPropertiesWriter(XMLWriterBase):
21 """
22 Class implementing the writer class for writing an XML project debugger properties
23 file.
24 """
25 def __init__(self, file, projectName):
26 """
27 Constructor
28
29 @param file open file (like) object for writing
30 @param projectName name of the project (string)
31 """
32 XMLWriterBase.__init__(self, file)
33
34 self.name = projectName
35 self.project = e4App().getObject("Project")
36
37 def writeXML(self):
38 """
39 Public method to write the XML to the file.
40 """
41 XMLWriterBase.writeXML(self)
42
43 self._write('<!DOCTYPE DebuggerProperties SYSTEM "DebuggerProperties-%s.dtd">' % \
44 debuggerPropertiesFileFormatVersion)
45
46 # add some generation comments
47 self._write("<!-- eric4 debugger properties file for project %s -->" % self.name)
48 self._write("<!-- This file was generated automatically, do not edit. -->")
49 if Preferences.getProject("XMLTimestamp"):
50 self._write("<!-- Saved: %s -->" % time.strftime('%Y-%m-%d, %H:%M:%S'))
51
52 # add the main tag
53 self._write('<DebuggerProperties version="%s">' % \
54 debuggerPropertiesFileFormatVersion)
55
56 self._write(' <Interpreter>%s</Interpreter>' % \
57 self.project.debugProperties["INTERPRETER"])
58
59 self._write(' <DebugClient>%s</DebugClient>' % \
60 self.project.debugProperties["DEBUGCLIENT"])
61
62 self._write(' <Environment override="%d">%s</Environment>' % \
63 (self.project.debugProperties["ENVIRONMENTOVERRIDE"],
64 self.escape(self.project.debugProperties["ENVIRONMENTSTRING"])))
65
66 self._write(' <RemoteDebugger on="%d">' % \
67 self.project.debugProperties["REMOTEDEBUGGER"])
68 self._write(' <RemoteHost>%s</RemoteHost>' % \
69 self.project.debugProperties["REMOTEHOST"])
70 self._write(' <RemoteCommand>%s</RemoteCommand>' % \
71 self.escape(self.project.debugProperties["REMOTECOMMAND"]))
72 self._write(' </RemoteDebugger>')
73
74 self._write(' <PathTranslation on="%d">' % \
75 self.project.debugProperties["PATHTRANSLATION"])
76 self._write(' <RemotePath>%s</RemotePath>' % \
77 self.project.debugProperties["REMOTEPATH"])
78 self._write(' <LocalPath>%s</LocalPath>' % \
79 self.project.debugProperties["LOCALPATH"])
80 self._write(' </PathTranslation>')
81
82 self._write(' <ConsoleDebugger on="%d">%s</ConsoleDebugger>' % \
83 (self.project.debugProperties["CONSOLEDEBUGGER"],
84 self.escape(self.project.debugProperties["CONSOLECOMMAND"])))
85
86 self._write(' <Redirect on="%d" />' % \
87 self.project.debugProperties["REDIRECT"])
88
89 self._write(' <Noencoding on="%d" />' % \
90 self.project.debugProperties["NOENCODING"])
91
92 self._write("</DebuggerProperties>", newline = False)

eric ide

mercurial