Wed, 01 Jan 2014 14:40:41 +0100
Updated copyright for 2014.
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 | |
3163
9f50365a0870
Updated copyright for 2014.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
3 | # Copyright (c) 2005 - 2014 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 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
15 | |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
16 | class TemplatesWriter(XMLStreamWriterBase): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | 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
|
19 | """ |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
20 | def __init__(self, device, templatesViewer): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
24 | @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
|
25 | @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
|
26 | """ |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
27 | XMLStreamWriterBase.__init__(self, device) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | self.templatesViewer = templatesViewer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | def writeXML(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | Public method to write the XML to the file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
35 | XMLStreamWriterBase.writeXML(self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
37 | 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
|
38 | templatesFileFormatVersion)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | # add some generation comments |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
41 | self.writeComment(" eric5 templates file ") |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
42 | 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
|
43 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | # add the main tag |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
45 | self.writeStartElement("Templates") |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
46 | self.writeAttribute("version", templatesFileFormatVersion) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | # do the template groups |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | groups = self.templatesViewer.getAllGroups() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | for group in groups: |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
51 | self.writeStartElement("TemplateGroup") |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
52 | self.writeAttribute("name", group.getName()) |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
53 | self.writeAttribute("language", group.getLanguage()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | # do the templates |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | templates = group.getAllEntries() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | for template in templates: |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
57 | self.writeStartElement("Template") |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
58 | self.writeAttribute("name", template.getName()) |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
59 | self.writeTextElement("TemplateDescription", template.getDescription()) |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
60 | self.writeTextElement("TemplateText", template.getTemplateText()) |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
61 | self.writeEndElement() |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
62 | self.writeEndElement() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
584
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
64 | self.writeEndElement() |
b5d4c116952a
Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
412
diff
changeset
|
65 | self.writeEndDocument() |