summaryrefslogtreecommitdiff
path: root/doc/_extensions/odoo_ext/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/_extensions/odoo_ext/__init__.py')
-rw-r--r--doc/_extensions/odoo_ext/__init__.py12
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):