diff --git a/packages/mp/pyproject.toml b/packages/mp/pyproject.toml index 7b1e5a30b4..e60fca277b 100644 --- a/packages/mp/pyproject.toml +++ b/packages/mp/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mp" -version = "1.28.10" +version = "1.28.11" description = "General Purpose CLI tool for Google SecOps Marketplace" readme = "README.md" authors = [ diff --git a/packages/mp/src/mp/core/update_checker.py b/packages/mp/src/mp/core/update_checker.py index 6475666d52..8876ddda67 100644 --- a/packages/mp/src/mp/core/update_checker.py +++ b/packages/mp/src/mp/core/update_checker.py @@ -40,7 +40,7 @@ def __init__(self) -> None: self._new_version: str | None = None self._check_thread: threading.Thread | None = None - def start_background_check(self, current_version: str) -> None: + def start_background_check(self, current_version: str | None) -> None: """Start a background thread to check for updates.""" if current_version == "unknown": return @@ -60,7 +60,7 @@ def print_warning_if_needed(self) -> None: if self._new_version: _print_version_warning(self._new_version) - def _check_update_worker(self, current_version: str) -> None: + def _check_update_worker(self, current_version: str | None) -> None: with suppress( requests.RequestException, requests.HTTPError, @@ -73,12 +73,16 @@ def _check_update_worker(self, current_version: str) -> None: data: dict[str, Any] = tomllib.loads(response.text) remote_version: str | None = data.get("project", {}).get("version") - if remote_version and parse_version(remote_version) > parse_version(current_version): + if ( + remote_version is not None + and current_version is not None + and parse_version(remote_version) > parse_version(current_version) + ): self._new_version = remote_version def _print_version_warning(remote_version: str) -> None: - current_version: str = get_mp_version() + current_version: str | None = get_mp_version() message: str = ( f"\n[bold yellow]WARNING:[/bold yellow] A newer version of mp " f"({current_version} -> {remote_version}) is available.\n" @@ -95,12 +99,12 @@ def print_mp_version(*, value: bool) -> None: """ if value: - version: str = get_mp_version() + version: str | None = get_mp_version() rich.print(f"mp {version}") raise typer.Exit -def get_mp_version() -> str: +def get_mp_version() -> str | None: """Get the current version of mp. Returns: diff --git a/packages/mp/src/mp/main.py b/packages/mp/src/mp/main.py index 521d461d8f..11d9ce57da 100644 --- a/packages/mp/src/mp/main.py +++ b/packages/mp/src/mp/main.py @@ -63,7 +63,6 @@ def main() -> None: @app.callback(invoke_without_command=True) def version_check( - ctx: typer.Context, *, _version: Annotated[ bool, @@ -78,7 +77,6 @@ def version_check( ) -> None: """Set up mp tool and initialize background tasks.""" checker: UpdateChecker = UpdateChecker() - ctx.obj = checker checker.start_background_check(get_mp_version()) atexit.register(checker.print_warning_if_needed) diff --git a/packages/mp/uv.lock b/packages/mp/uv.lock index 29c154e1b6..fb6034b425 100644 --- a/packages/mp/uv.lock +++ b/packages/mp/uv.lock @@ -396,7 +396,7 @@ wheels = [ [[package]] name = "mp" -version = "1.28.10" +version = "1.28.11" source = { editable = "." } dependencies = [ { name = "anyio" },