From 1ff74fb0a469f3f1f00692e20834cce3bd7b212a Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Mon, 20 Feb 2012 11:30:21 +0100 Subject: 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(+) diff --git a/giscanner/mallard-Python-property.tmpl b/giscanner/mallard-Python-property.tmpl index 3570a7fe..c018e143 100644 --- a/giscanner/mallard-Python-property.tmpl +++ b/giscanner/mallard-Python-property.tmpl @@ -9,5 +9,8 @@ ${node.name} ${namespace.name}.${node.parent.name}:${node.name} + +"${node.name}" ${formatter.format_type(node.type)} : ${formatter.format_property_flags(node)} + ${formatter.format(node.doc)} diff --git a/giscanner/mallardwriter.py b/giscanner/mallardwriter.py index 9ae7aa5a..fcfd2368 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: -- cgit v1.2.1