sphinx-contrib / sphinx-contrib/openapi

Local file references broken on windows

Open
#109 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
126
Forks
88
PR merge metrics
No merged PRs in 30d

Description

Windows 10, Python 3.9, Sphinx==3.5.3

Exception occurred:
  File "C:\Users\aye\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\jsonschema\validators.py", line 782, in resolve_from_url
    raise exceptions.RefResolutionError(exc)
jsonschema.exceptions.RefResolutionError: <urlopen error [WinError 3] The system cannot find the path specified: '\\definitions\\foo.yml'>

I am using the same test case as #3 does and getting the above error.

A little poking around shows that the base uri is being set to file://H:\projects\XXX\source\api_spec.yml and the reference is trying to resolve file://H:\projects\XXX\source\api_spec.yml/definitions/foo.yml

After getting this error I tried the latest dev versions with no changes (sphinxcontrib-openapi version 0.7.1.dev12+g4f78db9 and jsonschema-3.2.1.dev362+g833b6a9).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the test case from issue #3 on Windows 10 with Python 3.9, Sphinx 3.5.3, and the reported development versions. Inspect how the base URI and the relative definitions/foo.yml reference are resolved; done means the local file reference resolves without the malformed file path error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.