Repository navigation
Update logic - #48
Open
diego-ferrand wants to merge 5 commits into
Open
Update logic#48diego-ferrand wants to merge 5 commits into
diego-ferrand wants to merge 5 commits into
Conversation
Co-authored-by: 3dgiordano <797057+3dgiordano@users.noreply.github.com>
…o-mcp into UPDATE_LOGIC
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.
This pull request introduces several improvements and refactorings to platform normalization, update handling, and test coverage for the Perfecto MCP project. The most significant changes include extracting platform normalization logic into a shared module, adding a new HTTP client configuration, refactoring update-related code for better modularity, and enhancing the CLI and test coverage for update flows.
Platform normalization and shared utilities:
build.pyandtools_manager.pyinto a new shared moduleconfig/platform_names.py, and updated all relevant usages to import from this module. This ensures consistent platform name handling across packaging, updater, and tests. [1] [2] [3] [4] [5]config/http.pyproviding shared HTTP client defaults and a standardized user agent string for Perfecto MCP, decoupled from any tools-specific dependencies.Update flow and CLI improvements:
--updateCLI flag tomain.pyto trigger the interactive manual updater, and improved the exit banner to prompt users about the update option when running as a frozen binary. [1] [2] [3]main.pyinto a reusable_banner()function for consistent branding and messaging. [1] [2]updatepackage and its modules are included in the build and packaging process by updating both the PyInstaller build list and thepyproject.tomlconfiguration. [1] [2]Test improvements and update guidance:
match_recommended_assetfunction from theupdate.releasemodule. Added new tests for update guidance messaging, including scenarios for both frozen binaries and source-based installs. [1] [2] [3] [4] [5]These changes collectively improve maintainability, consistency, and user experience around platform detection and update flows.