method: render as markdown
Change-Id: Ie0344d632169ed779fd925d52e90299d586a0c35
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/tools/sdbusplus/method.py b/tools/sdbusplus/method.py
index d7635e1..b4142cb 100644
--- a/tools/sdbusplus/method.py
+++ b/tools/sdbusplus/method.py
@@ -10,3 +10,7 @@
self.errors = kwargs.pop('errors', [])
super(Method, self).__init__(**kwargs)
+
+ def markdown(self, loader):
+ template = loader.get_template("method.mako.md")
+ return template.render(method=self, loader=loader)
diff --git a/tools/templates/interface.mako.md b/tools/templates/interface.mako.md
index 41d2cce..a11320b 100644
--- a/tools/templates/interface.mako.md
+++ b/tools/templates/interface.mako.md
@@ -2,6 +2,15 @@
${interface.description}
+${"##"} Methods
+% if len(interface.methods):
+ % for m in interface.methods:
+${m.markdown(loader)}
+ % endfor
+% else:
+No methods.
+% endif
+
${"##"} Properties
% if len(interface.properties):
| name | type | description |
diff --git a/tools/templates/method.mako.md b/tools/templates/method.mako.md
new file mode 100644
index 0000000..4a2f9d6
--- /dev/null
+++ b/tools/templates/method.mako.md
@@ -0,0 +1,15 @@
+${"###"} ${method.name}
+
+${method.description}
+
+% if len(method.parameters) or len(method.returns):
+${"####"} Parameters and Returns
+| direction | name | type | description |
+|:---------:|------|------|-------------|
+ % for p in method.parameters:
+| in | ${p.markdown(loader)} |
+ % endfor
+ % for r in method.returns:
+| out | ${r.markdown(loader)} |
+ % endfor
+% endif