diff options
author | Zachary Goldberg <zgoldberg@src.gnome.org> | 2010-07-27 12:03:00 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2010-08-17 11:58:26 -0400 |
commit | f96686be347a7895c76f03a50072c6a7a762340f (patch) | |
tree | 9075678338028f3532ca68b7039a72e82669f9d1 /giscanner/xmlwriter.py | |
parent | 5e3613e6e145cdeed41a5fc8c0c0bfab59b28fbd (diff) | |
download | gobject-introspection-f96686be347a7895c76f03a50072c6a7a762340f.tar.gz |
Add ability to write unindented lines via xmlwriter
Diffstat (limited to 'giscanner/xmlwriter.py')
-rwxr-xr-x[-rw-r--r--] | giscanner/xmlwriter.py | 23 |
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, )) |