[Telepathy-commits] [telepathy-spec/master] Defer type lookups until Arg.get_type() is called
Davyd Madeley
davyd at madeley.id.au
Mon Mar 23 12:29:21 PDT 2009
---
doc/templates/interface.html | 6 +++---
tools/specparser.py | 13 ++++++++++---
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/doc/templates/interface.html b/doc/templates/interface.html
index da953c3..e66ab1d 100644
--- a/doc/templates/interface.html
+++ b/doc/templates/interface.html
@@ -29,7 +29,7 @@
#for $arg in $method.in_args
<li>
$arg.short_name — $arg.dbus_type
- #if $arg.type: (<a href="$arg.type.get_url()" title="$arg.type.get_title()">$arg.type.short_name</a>)
+ #if $arg.get_type(): (<a href="$arg.get_url()" title="$arg.get_title()">$arg.get_type().short_name</a>)
</li>
$arg.get_docstring()
#end for
@@ -44,7 +44,7 @@
#for $arg in $method.out_args
<li>
$arg.short_name — $arg.dbus_type
- #if $arg.type: (<a href="$arg.type.get_url()" title="$arg.type.get_title()">$arg.type.short_name</a>)
+ #if $arg.get_type(): (<a href="$arg.get_url()" title="$arg.get_title()">$arg.get_type().short_name</a>)
</li>
$arg.get_docstring()
#end for
@@ -84,7 +84,7 @@
#for $arg in $signal.args
<li>
$arg.short_name — $arg.dbus_type
- #if $arg.type: (<a href="$arg.type.get_url()" title="$arg.type.get_title()">$arg.type.short_name</a>)
+ #if $arg.get_type(): (<a href="$arg.get_url()" title="$arg.get_title()">$arg.get_type().short_name</a>)
</li>
$arg.get_docstring()
#end for
diff --git a/tools/specparser.py b/tools/specparser.py
index 82de15c..06a537c 100644
--- a/tools/specparser.py
+++ b/tools/specparser.py
@@ -197,9 +197,7 @@ class Arg (base):
def __init__ (self, parent, namespace, dom):
super (Arg, self).__init__ (parent, namespace, dom)
- type_ = dom.getAttributeNS (XMLNS_TP, 'type')
- self.type = self.get_spec ().lookup_type (type_)
-
+ self.type = dom.getAttributeNS (XMLNS_TP, 'type')
self.dbus_type = dom.getAttribute ('type')
direction = dom.getAttribute ('direction')
@@ -212,6 +210,15 @@ class Arg (base):
raise UnknownDirection ("Unknown direction `%s' on %s" % (
direction, self.parent))
+ def get_type (self):
+ return self.get_spec ().lookup_type (self.type)
+
+ def get_url (self):
+ return self.get_type ().get_url ()
+
+ def get_title (self):
+ return self.get_type ().get_title ()
+
def spec_name (self):
return '%s: %s' % (self.dbus_type, self.short_name)
--
1.5.6.5
More information about the telepathy-commits
mailing list