Fix `qmk flash` handling of paths relative to qmk_firmware (#25993)

This commit is contained in:
Joel Challis 2026-02-13 18:21:51 +00:00 committed by GitHub
parent 45ccd2e935
commit 63a3fc3591
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 13 additions and 1 deletions

View File

@ -177,5 +177,17 @@ class FileType(argparse.FileType):
"""normalize and check exists
otherwise magic strings like '-' for stdin resolve to bad paths
"""
# TODO: This should not return both Path and TextIOWrapper as consumers
# assume that they can call Path.as_posix without checking type
# Handle absolute paths and relative paths to CWD
norm = normpath(string)
return norm if norm.exists() else super().__call__(string)
if norm.exists():
return norm
# Handle relative paths to QMK_HOME
relative = Path(string)
if relative.exists():
return relative
return super().__call__(string)