Repository navigation
🐛 fix(api): raise when a media dir is a file - #672
Merged
gaborbernat merged 2 commits intoOct 28, 2026
Merged
Conversation
Move the file and file-symlink setup into a media_file fixture so each test checks only that ensure_exists raises FileExistsError, and replace the branching symlink controls test with parameters. Move the module-level function test next to the other media function tests in test_unix.py and skip it on Windows, which reads Known Folders. Name the changelog fragment after the PR and fold the new rule into the ensure_exists paragraph of parameters.rst.
gaborbernat
enabled auto-merge (squash)
October 28, 2026 18:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

With
ensure_exists, a media directory the user configured through anXDG_*_DIRvariable oruser-dirs.dirscould point at a regular file, and platformdirs returned the file's path._optionally_create_media_directorysuppressed everyFileExistsErrorso that dangling links to unmounted storage keep working (#561), and that also hid file collisions.It now re-raises
FileExistsErrorunless the path is a symlink whose target is missing. A regular file or a symlink to one raises; dangling links and symlink loops are returned unchanged, and symlinks to directories never raise. This covers the XDG variables,user-dirs.dirsand the module-level media functions such asuser_documents_path.