[issue43778] [Doc] Doc/tools/extensions/glossary_search.py fails with FileNotFoundError if the _static/ directory doesn't exist

New submission from STINNER Victor <vstinner@python.org>: Doc/tools/extensions/glossary_search.py failed multiple times on my doc PR: https://github.com/python/cpython/pull/25283 The fail is not deterministic (random error, timing issue?), it depends if the directory was already created by something else or not. Error on the Docs PR job of the Azure Pipeline: -------------- 2021-04-08T17:55:57.7774293Z writing output... [ 98%] whatsnew/3.5 2021-04-08T17:55:58.0531588Z writing output... [ 98%] whatsnew/3.6 2021-04-08T17:55:58.3085384Z writing output... [ 99%] whatsnew/3.7 2021-04-08T17:55:58.5638166Z writing output... [ 99%] whatsnew/3.8 2021-04-08T17:55:59.3385073Z writing output... [ 99%] whatsnew/3.9 2021-04-08T17:55:59.5205350Z writing output... [ 99%] whatsnew/changelog 2021-04-08T17:56:02.4282200Z writing output... [100%] whatsnew/index 2021-04-08T17:56:03.1454692Z 2021-04-08T17:56:03.1463636Z Writing glossary.json 2021-04-08T17:56:03.1466614Z 2021-04-08T17:56:03.1467473Z Exception occurred: 2021-04-08T17:56:03.3286028Z File "/home/vsts/work/1/s/Doc/tools/extensions/glossary_search.py", line 49, in on_build_finish 2021-04-08T17:56:03.3287379Z with open(path.join(app.outdir, '_static', 'glossary.json'), 'w') as f: 2021-04-08T17:56:03.3288351Z FileNotFoundError: [Errno 2] No such file or directory: '/home/vsts/work/1/s/Doc/build/html/_static/glossary.json' 2021-04-08T17:56:03.3294489Z The full traceback has been saved in /tmp/sphinx-err-1c8jemiu.log, if you want to report the issue to the developers. 2021-04-08T17:56:03.3295501Z Please also report this if it was a user error, so that a better error message can be provided next time. 2021-04-08T17:56:03.3296536Z A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks! -------------- https://dev.azure.com/Python/cpython/_build/results?buildId=78035&view=results Error on Travis CI: -------------- PATH=./venv/bin:$PATH sphinx-build -b html -d build/doctrees -q -W -j4 -W . build/html Extension error: Handler <function on_build_finish at 0x7f6ed4c6abf8> for event 'build-finished' threw an exception (exception: [Errno 2] No such file or directory: '/home/travis/build/python/cpython/Doc/build/html/_static/glossary.json') Makefile:49: recipe for target 'build' failed -------------- https://travis-ci.com/github/python/cpython/jobs/497108477 Attached PR fix the extension: create the directory if it doesn't exists. ---------- assignee: docs@python components: Documentation messages: 390552 nosy: docs@python, vstinner priority: normal severity: normal status: open title: [Doc] Doc/tools/extensions/glossary_search.py fails with FileNotFoundError if the _static/ directory doesn't exist versions: Python 3.10 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue43778> _______________________________________

Change by STINNER Victor <vstinner@python.org>: ---------- keywords: +patch pull_requests: +24022 stage: -> patch review pull_request: https://github.com/python/cpython/pull/25286 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue43778> _______________________________________

STINNER Victor <vstinner@python.org> added the comment: New changeset f32d0221477f18993666bb66cc79c61c4e145d42 by Victor Stinner in branch 'master': bpo-43778: Fix Sphinx glossary_search extension (GH-25286) https://github.com/python/cpython/commit/f32d0221477f18993666bb66cc79c61c4e1... ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue43778> _______________________________________

STINNER Victor <vstinner@python.org> added the comment: Python 3.9 is not affected, this Sphinx extension is new in Python 3.10. By the way, I like this feature! The new " Glossary: borrowed reference " block in: https://docs.python.org/3.10/search.html?q=borrowed+reference ---------- resolution: -> fixed stage: patch review -> resolved status: open -> closed _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue43778> _______________________________________
participants (1)
-
STINNER Victor