Fixed a bug in intersphinx failure reporting #6139
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Subject: fix a bug in intersphinx reporting failures
I had a published Sphinx doctree at http://de.presto.lino-framework.org with an invalid :xfile:
objects.inv
file so that intersphinx was not able to read it. It said::ValueError: unknown or unsupported inventory version: ValueError(u'invalid inventory header: ',)
This message is not the problem (I guess it was because that site was generated with another Sphinx version, but that's unrelevant). My problem is that this error was never reported. It was never reported because :func:
sphinx.ext.intersphinx.fetch_inventories
does something forbidden::To fix my problem, I replaced both lines::
by::
The problem might occur only when there is an additional exception "intersphinx inventory has moved" involved. Here is the output before the bugfix::
Another problem fixed en passant was that intersphinx later reports every failure as a separate call to :func:
warning
and when tolerate_warnings is False, we see only the first warning.