diff options
Diffstat (limited to 'doc/_extensions/odoo_ext/__init__.py')
| -rw-r--r-- | doc/_extensions/odoo_ext/__init__.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/_extensions/odoo_ext/__init__.py b/doc/_extensions/odoo_ext/__init__.py index c1637623e62..474931ae0fb 100644 --- a/doc/_extensions/odoo_ext/__init__.py +++ b/doc/_extensions/odoo_ext/__init__.py @@ -5,6 +5,10 @@ from . import switcher from . import translator import sphinx.environment +try: + from sphinx.environment.adapters import toctree +except ImportError: + pass import sphinx.builders.html from docutils import nodes def setup(app): @@ -93,6 +97,14 @@ class monkey(object): old = getattr(self.obj, name) setattr(self.obj, name, lambda self_, *args, **kwargs: \ fn(old, self_, *args, **kwargs)) +if toctree: + # 1.6 and above use a new toctree adapter object for processing rather + # than functions on the BuildEnv & al + @monkey(toctree.TocTree) + def resolve(old_resolve, tree, docname, *args, **kwargs): + if docname == tree.env.config.master_doc: + return resolve_content_toctree(tree.env, docname, *args, **kwargs) + return old_resolve(tree, docname, *args, **kwargs) @monkey(sphinx.environment.BuildEnvironment) def resolve_toctree(old_resolve, self, docname, *args, **kwargs): |
