From 19555f443e22e54914488cb5addf023528b7ba04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Fri, 9 Mar 2018 15:49:30 +0100 Subject: [PATCH] Fixes translate_class_reference() method --- coreapi/help/doc/sphinx/class_page.mustache | 3 --- coreapi/help/doc/sphinx/gendoc.py | 11 +++++------ tools/metadoc.py | 4 +++- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/coreapi/help/doc/sphinx/class_page.mustache b/coreapi/help/doc/sphinx/class_page.mustache index ad128e5b2..947336994 100644 --- a/coreapi/help/doc/sphinx/class_page.mustache +++ b/coreapi/help/doc/sphinx/class_page.mustache @@ -72,9 +72,6 @@ Enums ----- {{#enums}} - -.. _{{{ref_label}}}: - {{#make_subsection}}{{{name}}}{{/make_subsection}} .. {{#write_declarator}}enum{{/write_declarator}}:: {{{declaration}}} diff --git a/coreapi/help/doc/sphinx/gendoc.py b/coreapi/help/doc/sphinx/gendoc.py index d772f87f1..76cc77113 100755 --- a/coreapi/help/doc/sphinx/gendoc.py +++ b/coreapi/help/doc/sphinx/gendoc.py @@ -210,10 +210,10 @@ class EnumPart(SphinxPart): self.selector = self._make_selector(enum) self.sectionName = RstTools.make_section(self.name) self.declaration = 'public enum {0}'.format(self.name) if self.lang.langCode == 'Java' else self.name - self.ref_label = '{langCode}_{name}'.format( - langCode=lang.langCode, - name=enum.name.to_c() - ) + + ref = metadoc.ClassReference(None) + ref.relatedObject = enum + self.link = ref.translate(lang.docTranslator) def _translate_enumerator(self, enumerator): return { @@ -333,9 +333,8 @@ class ClassPage(SphinxPage): def enumsSummary(self): table = RstTools.Table() for enum in self.enums: - reference = ':ref:`{0}`'.format(enum.ref_label) briefDoc = '\n'.join([line['line'] for line in enum.briefDesc['lines']]) - table.addrow([reference, briefDoc]) + table.addrow((enum.link, briefDoc)) return table @property diff --git a/tools/metadoc.py b/tools/metadoc.py index 3db05655f..312e05547 100644 --- a/tools/metadoc.py +++ b/tools/metadoc.py @@ -437,7 +437,9 @@ class Translator: if namespace is None: description = ref.find_root() namespace = description.relatedObject.find_first_ancestor_by_type(abstractapi.Namespace, abstractapi.Class) - if namespace.name.is_prefix_of(ref.relatedObject.name): + if namespace is abstractapi.GlobalNs: + commonName = None + elif namespace.name.is_prefix_of(ref.relatedObject.name): commonName = namespace.name else: commonName = metaname.Name.find_common_parent(ref.relatedObject.name, namespace.name)