Skip to content

Commit

Permalink
intersphinx, deprecate old explicit inventory specification
Browse files Browse the repository at this point in the history
  • Loading branch information
jakobandersen committed Jan 22, 2022
1 parent 0cc338f commit 5dd63cd
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
9 changes: 8 additions & 1 deletion sphinx/ext/intersphinx.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def fetch_inventory(app: Sphinx, uri: str, inv: Any) -> Any:


def fetch_inventory_group(
name: str, uri: str, invs: Any, cache: Any, app: Any, now: float
name: str, uri: str, invs: Any, cache: Any, app: Any, now: float
) -> bool:
cache_time = now - app.config.intersphinx_cache_limit * 86400
failures = []
Expand Down Expand Up @@ -461,6 +461,11 @@ def resolve_reference_detect_inventory(env: BuildEnvironment,
node['reftarget'] = newtarget
res_inv = resolve_reference_in_inventory(env, inv_name, node, contnode)
node['reftarget'] = target
if res_inv is not None and env.config.intersphinx_warn_on_deprecated_inv_spec:
msg = __('intersphinx inventory specification format'
' ":role:`invName:target`" is deprecated.'
' Use the "external" role instead, e.g., ":external+invName:role:`target`".')
logger.warning(msg, location=node)
return res_inv


Expand Down Expand Up @@ -638,6 +643,7 @@ def setup(app: Sphinx) -> Dict[str, Any]:
app.add_config_value('intersphinx_cache_limit', 5, False)
app.add_config_value('intersphinx_timeout', None, False)
app.add_config_value('intersphinx_disabled_reftypes', [], True)
app.add_config_value('intersphinx_warn_on_deprecated_inv_spec', True, False)
app.connect('config-inited', normalize_intersphinx_mapping, priority=800)
app.connect('builder-inited', load_mappings)
app.connect('source-read', install_dispatcher)
Expand Down Expand Up @@ -687,6 +693,7 @@ def warn(self, msg: str) -> None:

if __name__ == '__main__':
import logging as _logging

_logging.basicConfig()

inspect_main(argv=sys.argv[1:])
1 change: 1 addition & 0 deletions tests/test_ext_intersphinx.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ def set_config(app, mapping):
app.config.intersphinx_mapping = mapping
app.config.intersphinx_cache_limit = 0
app.config.intersphinx_disabled_reftypes = []
app.config.intersphinx_warn_on_deprecated_inv_spec = True


@mock.patch('sphinx.ext.intersphinx.InventoryFile')
Expand Down

0 comments on commit 5dd63cd

Please sign in to comment.