8000 [FIX] port db0cb1b09237b2e004c7a7eceadedde668f4ac30 from tech doc · victorcel/documentation-user@63a615b · GitHub
[go: up one dir, main page]

Skip to content

Commit 63a615b

Browse files
committed
[FIX] port db0cb1b09237b2e004c7a7eceadedde668f4ac30 from tech doc
fix Sphinx 1.6 compatibility leading to the "tiles" on the home page not working anymore: 1.6 replaces BuildEnvironment.reolve_toctree by TocTree().resolve(), while the method still exists it's not actually called anymore
1 parent 591adee commit 63a615b

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

_extensions/odoo/__init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
from . import translator
66

77
import sphinx.environment
8+
try:
9+
from sphinx.environment.adapters import toctree
10+
except ImportError:
11+
toctree = None
12+
813
import sphinx.builders.html
914
from docutils import nodes
1015
def setup(app):
@@ -93,6 +98,14 @@ def __call__(self, fn):
9398
old = getattr(self.obj, name)
9499
setattr(self.obj, name, lambda self_, *args, **kwargs: \
95100
fn(old, self_, *args, **kwargs))
101+
if toctree:
102+
# 1.6 and above use a new toctree adapter object for processing rather
103+
# than functions on the BuildEnv & al
104+
@monkey(toctree.TocTree)
105+
def resolve(old_resolve, tree, docname, *args, **kwargs):
106+
if docname == tree.env.config.master_doc:
107+
return resolve_content_toctree(tree.env, docname, *args, **kwargs)
108+
return old_resolve(tree, docname, *args, **kwargs)
96109

97110
@monkey(sphinx.environment.BuildEnvironment)
98111
def resolve_toctree(old_resolve, self, docname, *args, **kwargs):

0 commit comments

Comments
 (0)
0