diff options
Diffstat (limited to 'giscanner/transformer.py')
-rw-r--r-- | giscanner/transformer.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/giscanner/transformer.py b/giscanner/transformer.py index 8c5e9087..8e1001be 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -151,6 +151,30 @@ class Transformer(object): self._namespace.includes.add(include) self._parse_include(include_path, uninstalled=True) + def _fabricate_section(self, block): + def get_param(name): + param = block.lower_params.get(name) + if param: + return param.description + else: + return None + + section = ast.Section(block.name, + get_param('short_description'), + get_param('long_description'), + get_param('see_also'), + get_param('title'), + get_param('stability'), + get_param('section_id'), + get_param('include'), + get_param('image')) + self._append_new_node(section) + + def fabricate_special_blocks(self, blocks): + for name, block in blocks.iteritems(): + if name.startswith("SECTION:"): + self._fabricate_section(block) + def lookup_giname(self, name): """Given a name of the form Foo or Bar.Foo, return the corresponding ast.Node, or None if none |