[gobject-introspection/mallard-templates] g-ir-doc-tool: Add details for properties in Python
- From: Tomeu Vizoso <tomeuv src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection/mallard-templates] g-ir-doc-tool: Add details for properties in Python
- Date: Mon, 20 Feb 2012 10:30:57 +0000 (UTC)
commit 1ff74fb0a469f3f1f00692e20834cce3bd7b212a
Author: Tomeu Vizoso <tomeu vizoso collabora com>
Date: Mon Feb 20 11:30:21 2012 +0100
g-ir-doc-tool: Add details for properties in Python
giscanner/mallard-Python-property.tmpl | 3 +++
giscanner/mallardwriter.py | 16 ++++++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/giscanner/mallard-Python-property.tmpl b/giscanner/mallard-Python-property.tmpl
index 3570a7f..c018e14 100644
--- a/giscanner/mallard-Python-property.tmpl
+++ b/giscanner/mallard-Python-property.tmpl
@@ -9,5 +9,8 @@
<title type="link" role="topic">${node.name}</title>
</info>
<title>${namespace.name}.${node.parent.name}:${node.name}</title>
+<synopsis><code mime="text/x-python">
+"${node.name}" ${formatter.format_type(node.type)} : ${formatter.format_property_flags(node)}
+</code></synopsis>
${formatter.format(node.doc)}
</page>
diff --git a/giscanner/mallardwriter.py b/giscanner/mallardwriter.py
index 9ae7aa5..fcfd236 100644
--- a/giscanner/mallardwriter.py
+++ b/giscanner/mallardwriter.py
@@ -77,6 +77,19 @@ class MallardFormatter(object):
def format_type(self, type_):
raise NotImplementedError
+ def format_property_flags(self, property_):
+ flags = []
+ if property_.readable:
+ flags.append("Read")
+ if property_.writable:
+ flags.append("Write")
+ if property_.construct:
+ flags.append("Construct")
+ if property_.construct_only:
+ flags.append("Construct Only")
+
+ return " / ".join(flags)
+
class MallardFormatterC(MallardFormatter):
def format_type(self, type_):
@@ -95,6 +108,9 @@ class MallardFormatterPython(MallardFormatter):
def format_type(self, type_):
if isinstance(type_, ast.Array):
return '[' + self.format_type(type_.element_type) + ']'
+ elif isinstance(type_, ast.Map):
+ return '{%s: %s}' % (self.format_type(type_.key_type),
+ self.format_type(type_.value_type))
elif type_.target_giname is not None:
return type_.target_giname
else:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]