[Telepathy-commits] [telepathy-spec/master] Show args in method/signal header

Davyd Madeley davyd at madeley.id.au
Mon Mar 23 12:29:19 PDT 2009


---
 doc/templates/interface.html |    4 ++--
 tools/specparser.py          |   14 ++++++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/doc/templates/interface.html b/doc/templates/interface.html
index 1e6e0d9..2beda7f 100644
--- a/doc/templates/interface.html
+++ b/doc/templates/interface.html
@@ -20,7 +20,7 @@
     #for $method in $interface.methods.values()
     <div id="$method.name" class="inset method">
      <span class="permalink">(<a href="$method.get_url()">Permalink</a>)</span>
-     <h2>$method.get_short_name()</h2>
+     <h2>$method.get_short_name() ($method.get_in_args()) &#8594; $method.get_out_args()</h2>
      #if $method.in_args
      <div class="indent">
       <h3>Parameters</h3>
@@ -48,7 +48,7 @@
     #for $signal in $interface.signals.values()
     <div id="$signal.name" class="inset signal">
      <span class="permalink">(<a href="$signal.get_url()">Permalink</a>)</span>
-     <h2>$signal.get_short_name()</h2>
+     <h2>$signal.get_short_name() ($signal.get_args())</h2>
      #if $signal.args
      <div class="indent">
       <h3>Parameters</h3>
diff --git a/tools/specparser.py b/tools/specparser.py
index 806a02d..e69c150 100644
--- a/tools/specparser.py
+++ b/tools/specparser.py
@@ -51,6 +51,14 @@ class Method (base):
         self.in_args = filter (lambda a: a.direction == Arg.DIRECTION_IN, args)
         self.out_args = filter (lambda a: a.direction == Arg.DIRECTION_OUT, args)
 
+    def get_in_args (self):
+        return ', '.join (map (lambda a: a.spec_name (), self.in_args))
+    def get_out_args (self):
+        if len (self.out_args) > 0:
+            return ', '.join (map (lambda a: a.spec_name (), self.out_args))
+        else:
+            return 'nothing'
+
 class Property (base):
     ACCESS_READ     = 0x01
     ACCESS_WRITE    = 0x10
@@ -101,6 +109,9 @@ class Arg (base):
             raise UnknownDirection ("Unknown direction `%s' on %s" % (
                                     direction, self.parent))
 
+    def spec_name (self):
+        return '%s: %s' % (self.dbus_type, self.name)
+
     def __repr__ (self):
         return '%s(%s:%s)' % (self.__class__.__name__, self.name, self.dbus_type)
 
@@ -110,6 +121,9 @@ class Signal (base):
 
         self.args = map (lambda n: Arg (self, None, n),
                          dom.getElementsByTagName ('arg'))
+    
+    def get_args (self):
+        return ', '.join (map (lambda a: a.spec_name (), self.args))
 
 class Interface (base):
     def __init__ (self, parent, namespace, dom):
-- 
1.5.6.5




More information about the telepathy-commits mailing list