[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()) → $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