diff options
Diffstat (limited to 'giscanner/mallard-Python-function.tmpl')
-rw-r--r-- | giscanner/mallard-Python-function.tmpl | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/giscanner/mallard-Python-function.tmpl b/giscanner/mallard-Python-function.tmpl new file mode 100644 index 00000000..7aa25e8e --- /dev/null +++ b/giscanner/mallard-Python-function.tmpl @@ -0,0 +1,88 @@ +<?xml version="1.0"?> +<% +page_style = 'function' +if node.is_constructor: + page_style = 'constructor' +elif node.is_method: + page_style = 'method' +%> +<page id="${page_id}" + type="topic" + style="${page_style}" + xmlns="http://projectmallard.org/1.0/" + xmlns:api="http://projectmallard.org/experimental/api/" + xmlns:ui="http://projectmallard.org/experimental/ui/"> + <info> +% if node.parent is not None: + <link type="guide" xref="${namespace.name}.${node.parent.name}" group="${page_style}"/> +% else: + <link type="guide" xref="index" group="${page_style}"/> +% endif + <api:function> + <api:returns> + <api:type>${formatter.format_type(node.retval.type) | x}</api:type> + </api:returns> + <api:name>${node.symbol}</api:name> +% if node.is_method: + <api:arg> + <api:type>${node.parent.ctype} *</api:type> + <api:name>self</api:name> + </api:arg> +% endif +% for arg in node.parameters: +% if arg.type.ctype == '<varargs>': + <api:varargs/> +% else: + <api:arg> + <api:type>${formatter.format_type(arg.type) | x}</api:type> + <api:name>${arg.argname}</api:name> + </api:arg> +% endif +% endfor + </api:function> + </info> + <title>${node.name}</title> +<synopsis><code mime="text/x-python"> +% if len(node.parameters) != 0: +@accepts(\ +% for arg, ix in zip(node.parameters, range(len(node.parameters))): +${formatter.format_type(arg.type) | x}\ +% if ix != len(node.parameters) - 1: +, \ +%endif +% endfor +) +% endif +@returns(${formatter.format_type(node.retval.type) | x}) +def \ +${node.name}(\ +% for arg, ix in zip(node.parameters, range(len(node.parameters))): +${arg.argname}\ +% if ix != len(node.parameters) - 1: +, \ +%endif +% endfor +) +</code></synopsis> +${formatter.format(node.doc)} + +% if node.parameters or node.retval: +<table> +% for arg, ix in zip(node.parameters, range(len(node.parameters))): +<tr> +<td><p>${arg.argname} :</p></td> +<td>${formatter.format(arg.doc)}</td> +</tr> +% endfor +% if node.retval and node.retval.type.ctype != 'void': +<tr> +<td><p>Returns :</p></td> +<td>${formatter.format(node.retval.doc)}</td> +</tr> +% endif +</table> +% endif +% if node.version: +<p>Since ${node.version}</p> +% endif +</page> |