E5XML/TemplatesWriter.py

Fri, 31 Dec 2010 15:49:50 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 31 Dec 2010 15:49:50 +0100
changeset 791
9ec2ac20e54e
parent 586
9dbffeed66a9
child 945
8cd4d08fa9f6
child 1510
e75ecf2bd9dd
permissions
-rw-r--r--

Updated copyright notice.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
791
9ec2ac20e54e Updated copyright notice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 586
diff changeset
3 # Copyright (c) 2005 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the writer class for writing an XML templates file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import time
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
12 from .XMLStreamWriterBase import XMLStreamWriterBase
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
13 from .Config import templatesFileFormatVersion
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
15 class TemplatesWriter(XMLStreamWriterBase):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Class implementing the writer class for writing an XML templates file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 """
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
19 def __init__(self, device, templatesViewer):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
23 @param device reference to the I/O device to write to (QIODevice)
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
24 @param templatesViewer reference to the templates viewer object (TemplateViewer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
26 XMLStreamWriterBase.__init__(self, device)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 self.templatesViewer = templatesViewer
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 def writeXML(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 Public method to write the XML to the file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 """
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
34 XMLStreamWriterBase.writeXML(self)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
36 self.writeDTD('<!DOCTYPE Templates SYSTEM "Templates-{0}.dtd">'.format(
412
569efd7f2716 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
37 templatesFileFormatVersion))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 # add some generation comments
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
40 self.writeComment(" eric5 templates file ")
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
41 self.writeComment(" Saved: {0} ".format(time.strftime('%Y-%m-%d, %H:%M:%S')))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 # add the main tag
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
44 self.writeStartElement("Templates")
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
45 self.writeAttribute("version", templatesFileFormatVersion)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 # do the template groups
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 groups = self.templatesViewer.getAllGroups()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 for group in groups:
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
50 self.writeStartElement("TemplateGroup")
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
51 self.writeAttribute("name", group.getName())
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
52 self.writeAttribute("language", group.getLanguage())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 # do the templates
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 templates = group.getAllEntries()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 for template in templates:
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
56 self.writeStartElement("Template")
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
57 self.writeAttribute("name", template.getName())
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
58 self.writeTextElement("TemplateDescription", template.getDescription())
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
59 self.writeTextElement("TemplateText", template.getTemplateText())
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
60 self.writeEndElement()
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
61 self.writeEndElement()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
63 self.writeEndElement()
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
64 self.writeEndDocument()

eric ide

mercurial