Fri, 31 Dec 2010 15:49:50 +0100
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() |