gobject-introspection r202 - in trunk: . giscanner
- From: johan svn gnome org
- To: svn-commits-list gnome org
- Subject: gobject-introspection r202 - in trunk: . giscanner
- Date: Mon, 21 Apr 2008 20:53:52 +0100 (BST)
Author: johan
Date: Mon Apr 21 19:53:51 2008
New Revision: 202
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=202&view=rev
Log:
2008-04-21 Johan Dahlin <johan gnome org>
* giscanner/gobjecttreebuilder.py:
After stripping namespaces, remove the original
item to avoid duplication (GtkButton struct and Button object)
Modified:
trunk/ChangeLog
trunk/giscanner/gobjecttreebuilder.py
Modified: trunk/giscanner/gobjecttreebuilder.py
==============================================================================
--- trunk/giscanner/gobjecttreebuilder.py (original)
+++ trunk/giscanner/gobjecttreebuilder.py Mon Apr 21 19:53:51 2008
@@ -21,13 +21,13 @@
name = _upperstr_pat3.sub(r'\1_\2', name, count=1)
return name
+_libtool_pat = re.compile("dlname='([A-z0-9\.]+)'\n")
+
def resolve_libtool(libname):
data = open(libname).read()
- pos = data.find('dlname=')
- pos2 = data[pos:].find('\n')
- real = data[pos:pos+pos2][8:-1]
+ filename = _libtool_pat.search(data).groups()[0]
libname = os.path.join(os.path.dirname(libname),
- '.libs', real)
+ '.libs', filename)
return libname
@@ -102,6 +102,9 @@
return
self._output_ns[node_name] = node
+ def _remove_attribute(self, name):
+ del self._output_ns[name]
+
def _get_attribute(self, name):
return self._output_ns.get(name)
@@ -244,7 +247,8 @@
enum_value.value_nick))
klass = (GLibFlags if ftype_id == cgobject.TYPE_FLAGS else GLibEnum)
- cenum = klass(cgobject.type_name(type_id), members, symbol)
+ type_name = cgobject.type_name(type_id)
+ cenum = klass(type_name, members, symbol)
self._strip_namespace(cenum)
self._add_attribute(cenum, replace=True)
@@ -253,16 +257,19 @@
parent_name = cgobject.type_name(cgobject.type_parent(type_id))
node = GLibObject(type_name, parent_name, [], symbol)
self._strip_namespace(node)
- self._add_attribute(node, replace=True)
+ self._add_attribute(node)
+ self._remove_attribute(type_name)
def _introspect_interface(self, type_id, symbol):
type_name = cgobject.type_name(type_id)
node = GLibInterface(type_name, [], symbol)
self._strip_namespace(node)
- self._add_attribute(node, replace=True)
+ self._add_attribute(node)
+ self._remove_attribute(type_name)
def _introspect_boxed(self, type_id, symbol):
type_name = cgobject.type_name(type_id)
node = GLibBoxed(type_name, [], symbol)
self._strip_namespace(node)
- self._add_attribute(node, replace=True)
+ self._add_attribute(node)
+ self._remove_attribute(type_name)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]