From dd8389b892032b7fac29a7c75351e85b439a906f Mon Sep 17 00:00:00 2001 From: Alex Pyrgiotis <alex.p@freedom.press> Date: Wed, 25 Jan 2023 19:54:16 +0200 Subject: [PATCH] Replace PySide2-stubs with types-PySide2 Replace PySide2-stubs with types-PySide2, both of which are projects that provide PySide2 typing hints, for the following reasons: 1. types-PySide2 is more complete and allows us to ditch some 'type: ignore' comments for Mypy. 2. PySide2-stubs also brings PySide2 as a dependency, which cannot be installed in MacOS M1 machines. Refs #177 --- dangerzone/gui/logic.py | 4 ++-- dangerzone/gui/main_window.py | 8 +++----- poetry.lock | 32 ++++++++++++-------------------- pyproject.toml | 2 +- 4 files changed, 18 insertions(+), 28 deletions(-) diff --git a/dangerzone/gui/logic.py b/dangerzone/gui/logic.py index c8ecba39c..a6c16c8ec 100644 --- a/dangerzone/gui/logic.py +++ b/dangerzone/gui/logic.py @@ -176,13 +176,13 @@ def __init__( self.setLayout(layout) def clicked_ok(self) -> None: - self.done(QtWidgets.QDialog.Accepted) + self.done(int(QtWidgets.QDialog.Accepted)) def clicked_extra(self) -> None: self.done(2) def clicked_cancel(self) -> None: - self.done(QtWidgets.QDialog.Rejected) + self.done(int(QtWidgets.QDialog.Rejected)) def launch(self) -> int: return self.exec_() diff --git a/dangerzone/gui/main_window.py b/dangerzone/gui/main_window.py index 5e96a9998..abdb5b484 100644 --- a/dangerzone/gui/main_window.py +++ b/dangerzone/gui/main_window.py @@ -46,7 +46,7 @@ def __init__(self, dangerzone: DangerzoneGui) -> None: header_label.setFont(self.dangerzone.fixed_font) header_label.setStyleSheet("QLabel { font-weight: bold; font-size: 50px; }") header_version_label = QtWidgets.QLabel(get_version()) - header_version_label.setProperty("class", "version") # type: ignore [arg-type] + header_version_label.setProperty("class", "version") header_version_label.setAlignment(QtCore.Qt.AlignBottom) header_layout = QtWidgets.QHBoxLayout() @@ -363,7 +363,7 @@ def __init__(self, dangerzone: DangerzoneGui) -> None: self.docs_selected_label = QtWidgets.QLabel("No documents selected") self.docs_selected_label.setAlignment(QtCore.Qt.AlignCenter) self.docs_selected_label.setContentsMargins(0, 0, 0, 20) - self.docs_selected_label.setProperty("class", "docs-selection") # type: ignore [arg-type] + self.docs_selected_label.setProperty("class", "docs-selection") # Save safe version self.save_checkbox = QtWidgets.QCheckBox() @@ -373,9 +373,7 @@ def __init__(self, dangerzone: DangerzoneGui) -> None: self.safe_extension_label = QtWidgets.QLabel("Save as") self.safe_extension_filename = QtWidgets.QLabel("document") self.safe_extension_filename.setAlignment(QtCore.Qt.AlignRight) - self.safe_extension_filename.setProperty( - "style", "safe_extension_filename" # type: ignore - ) + self.safe_extension_filename.setProperty("style", "safe_extension_filename") self.safe_extension = QtWidgets.QLineEdit() self.safe_extension.setStyleSheet("margin-left: -6px;") # no left margin self.safe_extension.textChanged.connect(self.update_ui) diff --git a/poetry.lock b/poetry.lock index b2df50680..a637e4a64 100644 --- a/poetry.lock +++ b/poetry.lock @@ -601,25 +601,6 @@ files = [ [package.dependencies] shiboken2 = "5.15.2.1" -[[package]] -name = "pyside2-stubs" -version = "5.15.2.1.2" -description = "PEP561 stub files for the *PySide2/Qt5 for Python* framework" -category = "dev" -optional = false -python-versions = ">=3.6" -files = [ - {file = "PySide2-stubs-5.15.2.1.2.tar.gz", hash = "sha256:87b25aa47a4f99898e2282874e4f27411034780f6643461b1cf39b02b4937657"}, - {file = "PySide2_stubs-5.15.2.1.2-py3-none-any.whl", hash = "sha256:2bbe78bab9ab015f6d38cbcdca24dd7d4c5180236bcb62e3eddadcd1a390fea8"}, -] - -[package.dependencies] -mypy = ">=0.940" -PySide2 = ">=5.11.0" - -[package.extras] -dev = ["pytest"] - [[package]] name = "pytest" version = "7.2.0" @@ -847,6 +828,17 @@ files = [ {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, ] +[[package]] +name = "types-pyside2" +version = "5.15.2.1.1" +description = "The most accurate stubs for PySide2" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "types_PySide2-5.15.2.1.1-py3-none-any.whl", hash = "sha256:50e7882de41328cca5e641be8c732ab3fd03bcf22fd97c9f0740990cd0b2be95"}, +] + [[package]] name = "typing-extensions" version = "4.4.0" @@ -878,4 +870,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools" [metadata] lock-version = "2.0" python-versions = ">=3.7,<3.11" -content-hash = "19e19811c8306bffc0f591f8eb231dd0281346057e1ecf295886824cda23fcb1" +content-hash = "a9c6233aa53837d4ca3f46223226293b368e71cc89ffcf5a3f8f1851356189f1" diff --git a/pyproject.toml b/pyproject.toml index 39634794d..15e63cfdb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ pyinstaller = {version = "*", platform = "darwin"} black = "*" isort = "*" mypy = "*" -PySide2-stubs = "*" +types-PySide2 = "*" # Dependencies required for testing the code. [tool.poetry.group.test.dependencies]