E5XML/TemplatesWriter.py

Mon, 07 Oct 2013 19:10:11 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 07 Oct 2013 19:10:11 +0200
changeset 2992
dbdf27746da5
parent 2302
f29e9405c851
child 3057
10516539f238
child 3160
209a07d7e401
permissions
-rw-r--r--

Continued to shorten the code lines to max. 79 characters.

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
2302
f29e9405c851 Updated copyright for 2013.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
3 # Copyright (c) 2005 - 2013 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)
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
25 @param templatesViewer reference to the templates viewer object
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
26 (TemplateViewer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
28 XMLStreamWriterBase.__init__(self, device)
0
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 self.templatesViewer = templatesViewer
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 def writeXML(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 Public method to write the XML to the file.
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 XMLStreamWriterBase.writeXML(self)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
38 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
39 templatesFileFormatVersion))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 # add some generation comments
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
42 self.writeComment(" eric5 templates file ")
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
43 self.writeComment(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
44 " 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
45
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 # add the main tag
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
47 self.writeStartElement("Templates")
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
48 self.writeAttribute("version", templatesFileFormatVersion)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 # do the template groups
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 groups = self.templatesViewer.getAllGroups()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 for group in groups:
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
53 self.writeStartElement("TemplateGroup")
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
54 self.writeAttribute("name", group.getName())
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
55 self.writeAttribute("language", group.getLanguage())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 # do the templates
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 templates = group.getAllEntries()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 for template in templates:
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
59 self.writeStartElement("Template")
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
60 self.writeAttribute("name", template.getName())
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
61 self.writeTextElement(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
62 "TemplateDescription", template.getDescription())
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
63 self.writeTextElement(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
64 "TemplateText", template.getTemplateText())
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
65 self.writeEndElement()
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
66 self.writeEndElement()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67
584
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
68 self.writeEndElement()
b5d4c116952a Migrated the templates writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
69 self.writeEndDocument()

eric ide

mercurial