summaryrefslogtreecommitdiff
path: root/feedgenerator/django/utils/xmlutils.py
blob: d23470874c7625a6df77b0c730f240ac6a23af05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"""
Utilities for XML generation/parsing.
"""

from xml.sax.saxutils import XMLGenerator, quoteattr

class SimplerXMLGenerator(XMLGenerator):
    def addQuickElement(self, name, contents=None, attrs=None):
        "Convenience method for adding an element with no children"
        if attrs is None: attrs = {}
        self.startElement(name, attrs)
        if contents is not None:
            self.characters(contents)
        self.endElement(name)

    def startElement(self, name, attrs):
        self._write('<' + name)
        # sort attributes for consistent output
        for (name, value) in sorted(attrs.items()):
            self._write(' %s=%s' % (name, quoteattr(value)))
        self._write(str('>'))