Refactor: Update CaseAwarePath with stdlib-only resolution and legacy-compatible API - #135
Merged
Merged
Conversation
…cy-compatible API Removed the FUSE-based case-handling path flow and consolidated on a standard-library implementation that resolves path segments case-insensitively on POSIX. This reduces environment-specific dependencies and improves reliability/performance on the main path operations. Added Python-version-aware handling for `pathlib` internals (including pre-3.12 compatibility), reintroduced bounded directory-content caching, and cached case-match scoring to improve repeated lookup performance. Registry-based install discovery is implemented and retained (including Steam/GOG/LucasArts keys and Amazon K1 lookup via `HKEY_USERS`).
…rly without changing anything
Only runs on non-Windows systems. should return true.
This stops us from clashing with a qt method name (resetInternalData) and fixes model resetting Additionally wraps item.data() as a string where needed.
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.
I removed the FUSE-based case-handling path flow and consolidated on a standard-library implementation that resolves path segments case-insensitively on POSIX. This reduces environment-specific dependencies and improves reliability/performance on the main path operations.
Added some Python-version-aware handling for
pathlibinternals (including pre-3.12 compatibility), reintroduced bounded directory-content caching, and cached case-match scoring to improve repeated lookup performance.Registry-based install discovery is implemented and retained (including Steam/GOG/LucasArts keys and Amazon K1 lookup via
HKEY_USERS).This greatly speeds up and fixes the implementation on Linux. Caching makes this pretty snappy.