Conversation
…e handling of third-party extension directories and ensure compatibility with offline paths.
There was a problem hiding this comment.
PR Summary:
This PR moves a misplaced inline Note: comment from the function body (dangling after a try/except block) into the proper docstring header of _ensure_path_registered(). A clean, minimal documentation fix before release.
Review Summary:
The docstring relocation is correct and improves readability. However, the move exposed a pre-existing latent bug: after the try/except block, norm_dest is re-assigned at line 57 using only os.path.normpath(), silently dropping the os.path.normcase() that was applied at line 40. The downstream deduplication check at line 66-67 then performs a case-sensitive path comparison on Windows, potentially allowing the same custom extension directory to be registered multiple times with different casing. Fix is to remove line 57 and apply normcase consistently to the existing dirs list.
Suggestions
- Fix the
normcaseinconsistency in_ensure_path_registered()by removing the redundant line 57 reassignment and applyingos.path.normcaseto the existing dirs list at line 66. Apply - Add a unit test covering case-variant path inputs to
_ensure_path_registered()to guard against Windows case-sensitivity regressions. Apply
extensions/pyRevitCore.extension/pyRevit.tab/pyRevit.panel/Extensions.smartbutton/script.py
Outdated
Show resolved
Hide resolved
- Delete redundant norm_dest assignment at line 57 that shadowed the correctly computed value from line 40 and dropped normcase - Apply normcase to existing dirs list to ensure case-insensitive comparison on Windows, preventing duplicate registrations
…rge_publish_into_bin utility for merging publish outputs. Refactor build_labs to use temporary directories for CLI and doctor builds to prevent assembly conflicts during publishing.
|
fixes on the extensions tool docstring +++ details |
|
📦 New work-in-progress (wip) builds are available for 6.3.0.26092+2226-wip |
|
📦 New public release are available for 6.3.0.26092+2232 |
No description provided.