gobject-introspection r238 - in trunk: . giscanner
- From: johan svn gnome org
- To: svn-commits-list gnome org
- Subject: gobject-introspection r238 - in trunk: . giscanner
- Date: Mon, 28 Apr 2008 02:59:11 +0100 (BST)
Author: johan
Date: Mon Apr 28 01:59:11 2008
New Revision: 238
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=238&view=rev
Log:
2008-04-27 Johan Dahlin <johan gnome org>
* giscanner/girparser.py:
Prettify NS parsing using elementtree.
Modified:
trunk/ChangeLog
trunk/giscanner/girparser.py
Modified: trunk/giscanner/girparser.py
==============================================================================
--- trunk/giscanner/girparser.py (original)
+++ trunk/giscanner/girparser.py Mon Apr 28 01:59:11 2008
@@ -17,12 +17,18 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
-from xml.etree.ElementTree import parse
+from xml.etree.cElementTree import parse
from .glibast import GLibObject
-CORE = "{http://www.gtk.org/introspection/core/1.0}"
-GLIB = "{http://www.gtk.org/introspection/glib/1.0}"
+CORE_NS = "http://www.gtk.org/introspection/core/1.0"
+GLIB_NS = "http://www.gtk.org/introspection/glib/1.0"
+
+def _corens(tag):
+ return '{%s}%s' % (CORE_NS, tag)
+
+def _glibns(tag):
+ return '{%s}%s' % (GLIB_NS, tag)
class GIRParser(object):
@@ -34,11 +40,12 @@
self._parse_api(tree.getroot())
def _parse_api(self, root):
- assert root.tag == '%srepository' % (CORE,), root
- ns = root.find('%snamespace' % (CORE,))
+ assert root.tag == _corens('repository')
+ ns = root.find(_corens('namespace'))
+ assert ns is not None
self._namespace_name = ns.attrib['name']
for child in ns.getchildren():
- if child.tag == '%sclass' % (CORE,):
+ if child.tag == _corens('class'):
self._parse_object(child)
else:
print 'PARSER: Unhandled %s' % (child.tag,)
@@ -46,8 +53,8 @@
def _parse_object(self, node):
gobj = GLibObject(node.attrib['name'],
node.attrib.get('parent'),
- node.attrib['%stype-name' % (GLIB,)],
- node.attrib['%sget-type' % (GLIB,)])
+ node.attrib[_glibns('type-name')],
+ node.attrib[_glibns('get-type')])
self._nodes.append(gobj)
def get_namespace_name(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]