From c1c2a46ff695a0e2f9bba9d24e07a19bbb8b8886 Mon Sep 17 00:00:00 2001 From: Julien Mercier-Rojas Date: Thu, 17 Oct 2024 16:54:33 +0200 Subject: [PATCH] Fix MyPy --- .pre-commit-config.yaml | 8 ++++++++ src/composer_utils.py | 5 ++--- src/models/project.py | 4 ++-- src/presentation/composer/composer_pan.py | 14 ++++++++------ 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a48da19..8395377 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -38,3 +38,11 @@ repos: files: src/ types: [file, python] args: [--max-line-length=131, --ignore, "F401"] + + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.8.0 + hooks: + - id: mypy + files: src/ + types: [file, python] +# args: [--config-file=./.styleconfigs/mypy.ini] diff --git a/src/composer_utils.py b/src/composer_utils.py index 77454d7..499193f 100644 --- a/src/composer_utils.py +++ b/src/composer_utils.py @@ -9,9 +9,8 @@ def composer_updatable(path: str) -> dict[str, str]: stderr=subprocess.PIPE, text=True, ) as process: - output = process.stderr.read().strip() - # Split the output into lines - lines = output.strip().split("\n") + stdout, stderr = process.communicate() + lines = stdout.strip().split("\n") packages: dict[str, str] = {} # Processing lines for packages diff --git a/src/models/project.py b/src/models/project.py index fc763e1..aa3fd87 100644 --- a/src/models/project.py +++ b/src/models/project.py @@ -16,7 +16,7 @@ def name(self) -> str: return os.path.basename(self.path) @field_validator("path", mode="before") - def check_directory_exists(cls, v): + def check_directory_exists(cls, v) -> str: if not os.path.isdir(v): raise ValueError(f"Provided path '{v}' is not a valid directory.") return v @@ -32,5 +32,5 @@ def check_composer_file(self): @cached_property def composer_json(self) -> Optional[Composer]: if not self.composer: - return + return None return Composer.from_json(self.path) diff --git a/src/presentation/composer/composer_pan.py b/src/presentation/composer/composer_pan.py index d9bc424..f2093ed 100644 --- a/src/presentation/composer/composer_pan.py +++ b/src/presentation/composer/composer_pan.py @@ -1,7 +1,7 @@ from textual import on, work from textual.app import ComposeResult from textual.containers import Container, Horizontal -from textual.widgets import TabPane +from textual.widgets import Button, TabPane from textual.worker import Worker, WorkerState from composer_utils import composer_updatable @@ -41,16 +41,18 @@ async def refresh_listview(self, event: Worker.StateChanged) -> None: """Called when the worker state changes.""" if event.state == WorkerState.SUCCESS: packages_updatable = event.worker.result - table: ComposerPackagesTable = self.query_one("#composer-packages-table") - table.set_requirements( + package_table: ComposerPackagesTable = self.query_one( + "#composer-packages-table" + ) + package_table.set_requirements( self.composer.required_packages, self.composer.locked_packages, packages_updatable, ) - table: ComposerPackagesTable = self.query_one( + package_dev_table: ComposerPackagesTable = self.query_one( "#composer-packages-dev-table" ) - table.set_requirements( + package_dev_table.set_requirements( self.composer.required_packages_dev, self.composer.locked_packages_dev, packages_updatable, @@ -65,7 +67,7 @@ async def refresh_listview(self, event: Worker.StateChanged) -> None: self.loading = False @on(ComposerScriptButton.Pressed) - def on_pressed(self, event: ComposerScriptButton.Pressed) -> None: + def on_pressed(self, event: Button.Pressed) -> None: if isinstance(event.button, ComposerScriptButton): self.app.push_screen( TerminalModal(