summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary Goldberg <zgoldberg@src.gnome.org>2010-07-27 12:03:00 -0400
committerColin Walters <walters@verbum.org>2010-08-17 11:58:26 -0400
commitf96686be347a7895c76f03a50072c6a7a762340f (patch)
tree9075678338028f3532ca68b7039a72e82669f9d1
parent5e3613e6e145cdeed41a5fc8c0c0bfab59b28fbd (diff)
downloadgobject-introspection-f96686be347a7895c76f03a50072c6a7a762340f.tar.gz
Add ability to write unindented lines via xmlwriter
-rwxr-xr-x[-rw-r--r--]giscanner/xmlwriter.py23
1 files changed, 20 insertions, 3 deletions
diff --git a/giscanner/xmlwriter.py b/giscanner/xmlwriter.py
index c10bcc65..6ba1e6ad 100644..100755
--- a/giscanner/xmlwriter.py
+++ b/giscanner/xmlwriter.py
@@ -79,7 +79,7 @@ class XMLWriter(object):
self._tag_stack = []
self._indent = 0
self._indent_unit = 2
- self._indent_char = ' '
+ self.enable_whitespace()
# Private
@@ -97,11 +97,28 @@ class XMLWriter(object):
# Public API
+ def enable_whitespace(self):
+ self._indent_char = ' '
+ self._newline_char = '\n'
+
+ def disable_whitespace(self):
+ self._indent_char = ''
+ self._newline_char = ''
+
def get_xml(self):
return self._data.getvalue()
- def write_line(self, line=''):
- self._data.write('%s%s\n' % (self._indent_char * self._indent, line))
+ def write_line(self, line='', indent=True, do_escape=False):
+ if do_escape:
+ line = escape(str(line))
+
+ if indent:
+ self._data.write('%s%s%s' % (
+ self._indent_char * self._indent,
+ line,
+ self._newline_char))
+ else:
+ self._data.write('%s%s' % (line, self._newline_char))
def write_comment(self, text):
self.write_line('<!-- %s -->' % (text, ))