From 0ef797ff65576d8c0e08120b60be3a2b961b8f81 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Sun, 1 Mar 2020 02:10:46 +0900 Subject: [PATCH] refactor: js domain: Change make_old_*_id() to methods --- sphinx/domains/javascript.py | 38 +++++++++++++++++------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/sphinx/domains/javascript.py b/sphinx/domains/javascript.py index d7e44ee606b..d510d790342 100644 --- a/sphinx/domains/javascript.py +++ b/sphinx/domains/javascript.py @@ -34,24 +34,6 @@ logger = logging.getLogger(__name__) -def make_old_jsmod_id(modname: str) -> str: - """Generate old styled node_id for JS modules. - - .. note:: Old Styled node_id was used until Sphinx-3.0. - This will be removed in Sphinx-5.0. - """ - return 'module-' + modname - - -def make_old_jsobj_id(fullname: str) -> str: - """Generate old styled node_id for JS objects. - - .. note:: Old Styled node_id was used until Sphinx-3.0. - This will be removed in Sphinx-5.0. - """ - return fullname.replace('$', '_S_') - - class JSObject(ObjectDescription): """ Description of a JavaScript object. @@ -129,7 +111,7 @@ def add_target_and_index(self, name_obj: Tuple[str, str], sig: str, # Assign old styled node_id not to break old hyperlinks (if possible) # Note: Will be removed in Sphinx-5.0 (RemovedInSphinx50Warning) - old_node_id = make_old_jsobj_id(fullname) + old_node_id = self.make_old_id(fullname) if old_node_id not in self.state.document.ids and old_node_id not in signode['ids']: signode['ids'].append(old_node_id) @@ -211,6 +193,14 @@ def after_content(self) -> None: self.env.ref_context['js:object'] = (objects[-1] if len(objects) > 0 else None) + def make_old_id(self, fullname: str) -> str: + """Generate old styled node_id for JS objects. + + .. note:: Old Styled node_id was used until Sphinx-3.0. + This will be removed in Sphinx-5.0. + """ + return fullname.replace('$', '_S_') + class JSCallable(JSObject): """Description of a JavaScript function, method or constructor.""" @@ -282,7 +272,7 @@ def run(self) -> List[Node]: # Assign old styled node_id not to break old hyperlinks (if possible) # Note: Will be removed in Sphinx-5.0 (RemovedInSphinx50Warning) - old_node_id = make_old_jsmod_id(mod_name) + old_node_id = self.make_old_id(mod_name) if old_node_id not in self.state.document.ids and old_node_id not in target['ids']: target['ids'].append(old_node_id) @@ -293,6 +283,14 @@ def run(self) -> List[Node]: ret.append(inode) return ret + def make_old_id(self, modname: str) -> str: + """Generate old styled node_id for JS modules. + + .. note:: Old Styled node_id was used until Sphinx-3.0. + This will be removed in Sphinx-5.0. + """ + return 'module-' + modname + class JSXRefRole(XRefRole): def process_link(self, env: BuildEnvironment, refnode: Element,