[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 &mdash; $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 &mdash; $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 &mdash; $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