From: Jasper St. Pierre Date: Wed, 9 Jan 2013 06:56:41 +0000 (-0500) Subject: mallardwriter: Consolidate xref building and page naming code X-Git-Tag: GOBJECT_INTROSPECTION_1_35_4~20 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=709408994a2806678c6c3258de2820a322f4e0c7;p=platform%2Fupstream%2Fgobject-introspection.git mallardwriter: Consolidate xref building and page naming code Simple code cleanups. --- diff --git a/giscanner/mallardwriter.py b/giscanner/mallardwriter.py index 0c9b996..a682709 100644 --- a/giscanner/mallardwriter.py +++ b/giscanner/mallardwriter.py @@ -215,8 +215,7 @@ class MallardFormatter(object): except (AttributeError, KeyError), e: return match - xref_name = "%s.%s:%s" % (node.namespace.name, type_node.name, node.name) - return '%s' % (make_page_id(node), xref_name) + return self.format_xref(node) def _process_signal(self, match, props): type_node = self._resolve_type(props['type_name']) @@ -228,23 +227,21 @@ class MallardFormatter(object): except (AttributeError, KeyError), e: return match - xref_name = "%s.%s::%s" % (node.namespace.name, type_node.name, node.name) - return '%s' % (make_page_id(node), xref_name) + return self.format_xref(node) def _process_type_name(self, match, props): node = self._resolve_type(props['type_name']) if node is None: return match - xref_name = "%s.%s" % (node.namespace.name, node.name) - return '%s' % (make_page_id(node), xref_name) + + return self.format_xref(node) def _process_function_call(self, match, props): node = self._resolve_symbol(props['symbol_name']) if node is None: return match - return '%s' % (make_page_id(node), - self.format_function_name(node)) + return self.format_xref(node) def _process_fundamental(self, match, props): return self.fundamentals.get(props['fundamental'], match) @@ -274,6 +271,24 @@ class MallardFormatter(object): def format_type(self, type_): raise NotImplementedError + def format_page_name(self, node): + namespace = node.namespace + if isinstance(node, ast.Namespace): + return 'Index' + elif isinstance(node, ast.Function): + return self.format_function_name(node) + elif isinstance(node, ast.Property) and node.parent is not None: + return '%s.%s:%s' % (namespace.name, node.parent.name, node.name) + elif isinstance(node, ast.Signal) and node.parent is not None: + return '%s.%s::%s' % (namespace.name, node.parent.name, node.name) + elif isinstance(node, ast.VFunction) and node.parent is not None: + return '%s.%s::%s' % (namespace.name, node.parent.name, node.name) + else: + return make_page_id(node) + + def format_xref(self, node): + return '%s' % (make_page_id(node), self.format_page_name(node)) + def format_property_flags(self, property_, construct_only=False): flags = [] if property_.readable and not construct_only: