diff options
author | Johan Dahlin <jdahlin@async.com.br> | 2007-06-28 15:15:02 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2007-06-28 15:15:02 +0000 |
commit | 118f2e6483b844908f3a497621a47c035cbf0efc (patch) | |
tree | df980a784c110e272c52b356779e5eabba544754 | |
parent | 3709aee045b0e10bcde1498a7c0e9a5c8d44f182 (diff) | |
download | gdk-pixbuf-118f2e6483b844908f3a497621a47c035cbf0efc.tar.gz |
Prettify the output by running it through xmllint --format if xmllint is
2007-06-28 Johan Dahlin <jdahlin@async.com.br>
* gtk/gtk-builder-convert (_indent): Prettify the output by
running it through xmllint --format if xmllint is available
which also requires the subprocess module only available
in python 2.4 or later
svn path=/trunk/; revision=18281
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gtk/gtk-builder-convert | 34 |
2 files changed, 38 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2007-06-28 Johan Dahlin <jdahlin@async.com.br> + + * gtk/gtk-builder-convert (_indent): Prettify the output by + running it through xmllint --format if xmllint is available + which also requires the subprocess module only available + in python 2.4 or later + 2007-06-28 Christian Persch <chpe@gnome.org> * gtk/gtkvolumebutton.c: (gtk_volume_button_class_init), diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert index 7237c8fb2..be33edf4e 100644 --- a/gtk/gtk-builder-convert +++ b/gtk/gtk-builder-convert @@ -25,10 +25,18 @@ # GtkTextView.text -> GtkTextBuffer # Toolbars +import os import sys from xml.dom import minidom, Node +# The subprocess is only available in Python 2.4+ +try: + import subprocess + subprocess # pyflakes +except ImportError: + subprocess = None + def get_child_nodes(node): nodes = [] for child in node.childNodes: @@ -354,14 +362,34 @@ class GtkBuilderConverter(object): widget.getAttributeNode("constructor").value = parent_id node.removeAttribute("id") +def _indent(output): + if not subprocess: + return output + + for directory in os.environ['PATH'].split(os.pathsep): + filename = os.path.join(directory, 'xmllint') + if os.path.exists(filename): + break + else: + return output + + s = subprocess.Popen([filename, '--format', '-'], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE) + s.stdin.write(output) + s.stdin.close() + return s.stdout.read() + def main(): if len(sys.argv) < 2: - print "Usage: %s filename.glade" % (sys.argv[0],) - return + raise SystemExit("Usage: %s filename.glade" % (sys.argv[0],)) + conv = GtkBuilderConverter() conv.parse_file(sys.argv[1]) - print conv.to_xml() + + xml = conv.to_xml() + print _indent(xml) if __name__ == "__main__": main() |