Skip to content

Allow relative directory path when follow_symlinks=True#2896

Merged
Kludex merged 3 commits intoKludex:masterfrom
davipt:bruno
Mar 8, 2025
Merged

Allow relative directory path when follow_symlinks=True#2896
Kludex merged 3 commits intoKludex:masterfrom
davipt:bruno

Conversation

@davipt
Copy link
Contributor

@davipt davipt commented Mar 5, 2025

Summary

Fix for StaticFiles(follow_symlinks=True, directory="some relative path") that stopped working with commit eee4cdc.

When using StaticFiles with a relative path (e.g. a static folder included with the source code deployment) and follow_symlinks is set to True, the commit at eee4cdc removed the code that translates the relative folder into an absolute folder, and then the system call os.path.commonpath fails because it expects the arguments to either be all relative or all absolute.

This MR fixes this issue by using the same pattern as the full_path - os.abspath for follow_symlinks=True, and os.realpath when False.

Checklist

  • I understand that this PR may be closed in case there was no previous discussion. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • [-] I've updated the documentation accordingly.

Copy link
Owner

@Kludex Kludex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I left only the test that was failing in master.

@Kludex Kludex changed the title Fix for #2873 in StaticFiles Allow relative directory path when follow_symlinks=True Mar 8, 2025
@Kludex Kludex enabled auto-merge (squash) March 8, 2025 07:58
@Kludex Kludex merged commit bc3b400 into Kludex:master Mar 8, 2025
5 checks passed
@davipt
Copy link
Contributor Author

davipt commented Mar 8, 2025

Awesome, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants