From fec10bbbc097eff76a1f618f2791b3df1326594f Mon Sep 17 00:00:00 2001 From: Shyamnath Premnadh Date: Wed, 24 Jan 2024 15:58:25 +0100 Subject: PySide Tools: Fix flake8 warnings - Fix general flake8 warnings in pyside-tools. - add F401 to .flake8 to ignore unused imports from __init__.py files - add E402 from __init__.py to prevent errors related to partial initialization of modules. Pick-to: 6.6 6.5 Change-Id: Ia848b08ff6f0d2808e04f6a83c46636e2d167c02 Reviewed-by: Qt CI Bot Reviewed-by: Friedemann Kleint --- sources/pyside-tools/android_deploy.py | 4 ++-- sources/pyside-tools/deploy.py | 8 +++----- sources/pyside-tools/deploy_lib/__init__.py | 1 - sources/pyside-tools/deploy_lib/android/__init__.py | 6 +++--- .../pyside-tools/deploy_lib/android/android_helper.py | 2 +- sources/pyside-tools/deploy_lib/android/buildozer.py | 4 ++-- .../android/recipes/PySide6/__init__.tmpl.py | 16 ++++++++-------- sources/pyside-tools/deploy_lib/config.py | 2 +- sources/pyside-tools/deploy_lib/deploy_util.py | 2 +- sources/pyside-tools/deploy_lib/python_helper.py | 19 +++++++++---------- sources/pyside-tools/project.py | 3 ++- sources/pyside-tools/project/newproject.py | 2 +- sources/pyside-tools/project/project_data.py | 4 ++-- sources/pyside-tools/qml.py | 4 ++-- .../qtpy2cpp_lib/tests/baseline/basic_test.py | 2 +- .../pyside-tools/qtpy2cpp_lib/tests/test_qtpy2cpp.py | 12 ++++++------ sources/pyside-tools/qtpy2cpp_lib/visitor.py | 3 +-- 17 files changed, 45 insertions(+), 49 deletions(-) (limited to 'sources/pyside-tools') diff --git a/sources/pyside-tools/android_deploy.py b/sources/pyside-tools/android_deploy.py index 2d06d5819..8ef59781f 100644 --- a/sources/pyside-tools/android_deploy.py +++ b/sources/pyside-tools/android_deploy.py @@ -67,8 +67,8 @@ HELP_EXTRA_MODULES = dedent(""" """) -def main(name: str = None, pyside_wheel: Path = None, shiboken_wheel: Path = None, ndk_path: Path = None, - sdk_path: Path = None, config_file: Path = None, init: bool = False, +def main(name: str = None, pyside_wheel: Path = None, shiboken_wheel: Path = None, + ndk_path: Path = None, sdk_path: Path = None, config_file: Path = None, init: bool = False, loglevel=logging.WARNING, dry_run: bool = False, keep_deployment_files: bool = False, force: bool = False, extra_ignore_dirs: str = None, extra_modules_grouped: str = None): diff --git a/sources/pyside-tools/deploy.py b/sources/pyside-tools/deploy.py index f5197b6cf..0aea807a8 100644 --- a/sources/pyside-tools/deploy.py +++ b/sources/pyside-tools/deploy.py @@ -99,11 +99,9 @@ def main(main_file: Path = None, name: str = None, config_file: Path = None, ini if not dry_run: logging.info("[DEPLOY] Deploying application") - command_str = python.create_executable( - source_file=config.source_file, - extra_args=config.extra_args, - config=config, - ) + command_str = python.create_executable(source_file=config.source_file, + extra_args=config.extra_args, + config=config) except Exception: print(f"[DEPLOY] Exception occurred: {traceback.format_exc()}") finally: diff --git a/sources/pyside-tools/deploy_lib/__init__.py b/sources/pyside-tools/deploy_lib/__init__.py index bdde7e917..8c5d8b4ef 100644 --- a/sources/pyside-tools/deploy_lib/__init__.py +++ b/sources/pyside-tools/deploy_lib/__init__.py @@ -23,4 +23,3 @@ from .python_helper import PythonExecutable, find_pyside_modules from .config import BaseConfig, Config from .deploy_util import (cleanup, finalize, create_config_file, setup_python, install_python_dependencies, config_option_exists) - diff --git a/sources/pyside-tools/deploy_lib/android/__init__.py b/sources/pyside-tools/deploy_lib/android/__init__.py index ba7a2b4e9..59cd510c5 100644 --- a/sources/pyside-tools/deploy_lib/android/__init__.py +++ b/sources/pyside-tools/deploy_lib/android/__init__.py @@ -1,7 +1,7 @@ # Copyright (C) 2023 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -from .android_helper import (create_recipe, extract_and_copy_jar, get_wheel_android_arch, - AndroidData, get_llvm_readobj, find_lib_dependencies, - find_qtlibs_in_wheel) +from .android_helper import (create_recipe, extract_and_copy_jar, + get_wheel_android_arch, AndroidData, get_llvm_readobj, + find_lib_dependencies, find_qtlibs_in_wheel) from .android_config import AndroidConfig diff --git a/sources/pyside-tools/deploy_lib/android/android_helper.py b/sources/pyside-tools/deploy_lib/android/android_helper.py index 2299eab25..230343647 100644 --- a/sources/pyside-tools/deploy_lib/android/android_helper.py +++ b/sources/pyside-tools/deploy_lib/android/android_helper.py @@ -39,7 +39,7 @@ def create_recipe(version: str, component: str, wheel_path: str, generated_files qt_local_libs = [] if local_libs: - qt_local_libs = [local_lib for local_lib in local_libs if local_lib.startswith("Qt6") ] + qt_local_libs = [local_lib for local_lib in local_libs if local_lib.startswith("Qt6")] rcp_tmpl_path = Path(__file__).parent / "recipes" / f"{component}" environment = Environment(loader=FileSystemLoader(rcp_tmpl_path)) diff --git a/sources/pyside-tools/deploy_lib/android/buildozer.py b/sources/pyside-tools/deploy_lib/android/buildozer.py index 78078b230..3c188b1c0 100644 --- a/sources/pyside-tools/deploy_lib/android/buildozer.py +++ b/sources/pyside-tools/deploy_lib/android/buildozer.py @@ -253,8 +253,8 @@ class BuildozerConfig(BaseConfig): else: continue - absolute_plugin_module_folder = (self.qt_libs_path.parent / "plugins" / - plugin_module_folder) + absolute_plugin_module_folder = (self.qt_libs_path.parent / "plugins" + / plugin_module_folder) if not absolute_plugin_module_folder.is_dir(): logging.warning(f"[DEPLOY] Qt plugin folder '{plugin_module_folder}' does not" diff --git a/sources/pyside-tools/deploy_lib/android/recipes/PySide6/__init__.tmpl.py b/sources/pyside-tools/deploy_lib/android/recipes/PySide6/__init__.tmpl.py index 37669cff1..8a8615798 100644 --- a/sources/pyside-tools/deploy_lib/android/recipes/PySide6/__init__.tmpl.py +++ b/sources/pyside-tools/deploy_lib/android/recipes/PySide6/__init__.tmpl.py @@ -35,30 +35,30 @@ class PySideRecipe(PythonRecipe): shutil.copyfile(lib_dir.parent.parent / "libpyside6.abi3.so", Path(self.ctx.get_libs_dir(arch.arch)) / "libpyside6.abi3.so") - {% for module in qt_modules %} + {% for module in qt_modules %} # noqa: E999 shutil.copyfile(lib_dir.parent.parent / f"Qt{{ module }}.abi3.so", Path(self.ctx.get_libs_dir(arch.arch)) / "Qt{{ module }}.abi3.so") - {% if module == "Qml" -%} + {% if module == "Qml" -%} # noqa: E999 shutil.copyfile(lib_dir.parent.parent / "libpyside6qml.abi3.so", Path(self.ctx.get_libs_dir(arch.arch)) / "libpyside6qml.abi3.so") - {% endif %} - {% endfor %} + {% endif %} # noqa: E999 + {% endfor %} # noqa: E999 - {% for lib in qt_local_libs %} + {% for lib in qt_local_libs %} # noqa: E999 lib_path = lib_dir / f"lib{{ lib }}_{arch.arch}.so" if lib_path.exists(): shutil.copyfile(lib_path, Path(self.ctx.get_libs_dir(arch.arch)) / f"lib{{ lib }}_{arch.arch}.so") - {% endfor %} + {% endfor %} # noqa: E999 - {% for plugin_category,plugin_name in qt_plugins %} + {% for plugin_category,plugin_name in qt_plugins %} # noqa: E999 plugin_path = (lib_dir.parent / "plugins" / "{{ plugin_category }}" / f"libplugins_{{ plugin_category }}_{{ plugin_name }}_{arch.arch}.so") if plugin_path.exists(): shutil.copyfile(plugin_path, (Path(self.ctx.get_libs_dir(arch.arch)) / f"libplugins_{{ plugin_category }}_{{ plugin_name }}_{arch.arch}.so")) - {% endfor %} + {% endfor %} # noqa: E999 recipe = PySideRecipe() diff --git a/sources/pyside-tools/deploy_lib/config.py b/sources/pyside-tools/deploy_lib/config.py index 81de8b2c6..5dbaa68eb 100644 --- a/sources/pyside-tools/deploy_lib/config.py +++ b/sources/pyside-tools/deploy_lib/config.py @@ -313,7 +313,7 @@ class Config(BaseConfig): def _find_and_set_excluded_qml_plugins(self): if self.qml_files: self.qml_modules = set(run_qmlimportscanner(qml_files=self.qml_files, - dry_run=self.dry_run)) + dry_run=self.dry_run)) self.excluded_qml_plugins = EXCLUDED_QML_PLUGINS.difference(self.qml_modules) # needed for dry_run testing diff --git a/sources/pyside-tools/deploy_lib/deploy_util.py b/sources/pyside-tools/deploy_lib/deploy_util.py index 48e4951ea..a8ca58611 100644 --- a/sources/pyside-tools/deploy_lib/deploy_util.py +++ b/sources/pyside-tools/deploy_lib/deploy_util.py @@ -39,7 +39,7 @@ def cleanup(config: Config, is_android: bool = False): logging.info(f"[DEPLOY] {str(buildozer_build)} removed") -def create_config_file(dry_run: bool = False, config_file: Path = None, main_file: Path = None): +def create_config_file(dry_run: bool = False, config_file: Path = None, main_file: Path = None): """ Sets up a new pysidedeploy.spec or use an existing config file """ diff --git a/sources/pyside-tools/deploy_lib/python_helper.py b/sources/pyside-tools/deploy_lib/python_helper.py index af38c274d..6ec3b64f8 100644 --- a/sources/pyside-tools/deploy_lib/python_helper.py +++ b/sources/pyside-tools/deploy_lib/python_helper.py @@ -155,8 +155,8 @@ class PythonExecutable: return False def install(self, packages: list = None): - _, installed_packages = run_command(command=[str(self.exe), "-m", "pip", "freeze"], dry_run=False - , fetch_output=True) + _, installed_packages = run_command(command=[str(self.exe), "-m", "pip", "freeze"], + dry_run=False, fetch_output=True) installed_packages = [p.decode().split('==')[0] for p in installed_packages.split()] for package in packages: package_info = package.split('==') @@ -197,13 +197,12 @@ class PythonExecutable: if config.qml_files: logging.info(f"[DEPLOY] Included QML files: {config.qml_files}") - command_str = self.nuitka.create_executable( - source_file=source_file, - extra_args=extra_args, - qml_files=config.qml_files, - excluded_qml_plugins=config.excluded_qml_plugins, - icon=config.icon, - dry_run=self.dry_run, - ) + command_str = self.nuitka.create_executable(source_file=source_file, + extra_args=extra_args, + qml_files=config.qml_files, + excluded_qml_plugins=(config. + excluded_qml_plugins), + icon=config.icon, + dry_run=self.dry_run) return command_str diff --git a/sources/pyside-tools/project.py b/sources/pyside-tools/project.py index 3dbe42547..621bf1ac7 100644 --- a/sources/pyside-tools/project.py +++ b/sources/pyside-tools/project.py @@ -51,6 +51,7 @@ NEW_PROJECT_TYPES = {"new-quick": ProjectType.QUICK, "new-ui": ProjectType.WIDGET_FORM, "new-widget": ProjectType.WIDGET} + class Project: """ Class to wrap the various operations on Project @@ -117,7 +118,7 @@ class Project: qmltypes_file = self._qml_module_dir / f"{stem}.qmltypes" cpp_file = self._qml_module_dir / f"{stem}_qmltyperegistrations.cpp" cmd = [QMLTYPEREGISTRAR_CMD, "--generate-qmltypes", - os.fspath(qmltypes_file), "-o", os.fspath(cpp_file), + os.fspath(qmltypes_file), "-o", os.fspath(cpp_file), os.fspath(file)] cmd.extend(self._qml_project_data.registrar_options()) return ([qmltypes_file, cpp_file], cmd) diff --git a/sources/pyside-tools/project/newproject.py b/sources/pyside-tools/project/newproject.py index 5211c3979..c363a9fc0 100644 --- a/sources/pyside-tools/project/newproject.py +++ b/sources/pyside-tools/project/newproject.py @@ -145,7 +145,7 @@ def _qml_project() -> Project: def new_project(directory_s: str, - project_type: ProjectType=ProjectType.WIDGET_FORM) -> int: + project_type: ProjectType = ProjectType.WIDGET_FORM) -> int: directory = Path(directory_s) if directory.exists(): print(f"{directory_s} already exists.", file=sys.stderr) diff --git a/sources/pyside-tools/project/project_data.py b/sources/pyside-tools/project/project_data.py index b8d27f33e..416089dce 100644 --- a/sources/pyside-tools/project/project_data.py +++ b/sources/pyside-tools/project/project_data.py @@ -11,6 +11,7 @@ from . import (METATYPES_JSON_SUFFIX, PROJECT_FILE_SUFFIX, qt_metatype_json_dir, MOD_CMD, QML_IMPORT_MAJOR_VERSION, QML_IMPORT_MINOR_VERSION, QML_IMPORT_NAME, QT_MODULES) + def is_python_file(file: Path) -> bool: return (file.suffix == ".py" or sys.platform == "win32" and file.suffix == ".pyw") @@ -106,7 +107,7 @@ class ProjectData: # __main__ not found print( - "Python file with main function not found. Add the file to" f" {project_file}", + "Python file with main function not found. Add the file to" f" {self.project_file}", file=sys.stderr, ) sys.exit(1) @@ -233,4 +234,3 @@ def check_qml_decorators(py_file: Path) -> Tuple[bool, QmlProjectData]: if v: qml_project_data.qt_modules = v return (has_class, qml_project_data) - diff --git a/sources/pyside-tools/qml.py b/sources/pyside-tools/qml.py index 61e0e8ff9..d76e5c5c9 100644 --- a/sources/pyside-tools/qml.py +++ b/sources/pyside-tools/qml.py @@ -215,7 +215,7 @@ if __name__ == "__main__": if apptype == "core": component = QQmlComponent(engine, qml_file) obj = component.create() - filtered_attributes = {k: v for k, v in vars(obj).items() if type(v) != SignalInstance} + filtered_attributes = {k: v for k, v in vars(obj).items() if type(v) is not SignalInstance} logging.info("qml: component object attributes are") pprint(filtered_attributes) del engine @@ -227,7 +227,7 @@ if __name__ == "__main__": sys.exit(-1) qquick_view = False - if type(rootObjects[0]) != QQuickWindow and qquick_present: + if isinstance(rootObjects[0], QQuickWindow) and qquick_present: logging.info("qml: loading with QQuickView") viewer = QQuickView() viewer.setSource(qml_file) diff --git a/sources/pyside-tools/qtpy2cpp_lib/tests/baseline/basic_test.py b/sources/pyside-tools/qtpy2cpp_lib/tests/baseline/basic_test.py index 10dc73767..1466ac6b1 100644 --- a/sources/pyside-tools/qtpy2cpp_lib/tests/baseline/basic_test.py +++ b/sources/pyside-tools/qtpy2cpp_lib/tests/baseline/basic_test.py @@ -4,7 +4,7 @@ import sys -from PySide6.QtCore import qVersion, Qt +from PySide6.QtCore import Qt from PySide6.QtGui import QColor, QPainter, QPaintEvent, QShortcut from PySide6.QtWidgets import QApplication, QWidget diff --git a/sources/pyside-tools/qtpy2cpp_lib/tests/test_qtpy2cpp.py b/sources/pyside-tools/qtpy2cpp_lib/tests/test_qtpy2cpp.py index f9f921705..894b2a958 100644 --- a/sources/pyside-tools/qtpy2cpp_lib/tests/test_qtpy2cpp.py +++ b/sources/pyside-tools/qtpy2cpp_lib/tests/test_qtpy2cpp.py @@ -14,7 +14,7 @@ def diff_code(actual_code, expected_file): with tempfile.NamedTemporaryFile(suffix=".cpp") as tf: tf.write(actual_code.encode('utf-8')) tf.flush() - diff_cmd = ["diff", "-u", expected_file, tf.name] + diff_cmd = ["diff", "-u", expected_file, tf.name] subprocess.run(diff_cmd) @@ -33,22 +33,22 @@ def run_converter(tool, file): def test_examples(): dir = Path(__file__).resolve().parent tool = dir.parents[1] / "qtpy2cpp.py" - assert(tool.is_file) + assert tool.is_file for test_file in (dir / "baseline").glob("*.py"): - assert(test_file.is_file) + assert test_file.is_file expected_file = test_file.parent / (test_file.stem + ".cpp") if expected_file.is_file(): actual_code = run_converter(tool, test_file) - assert(actual_code) + assert actual_code expected_code = expected_file.read_text() # Strip the license code_start = expected_code.find("// Converted from") - assert(code_start != -1) + assert code_start != -1 expected_code = expected_code[code_start:] if actual_code != expected_code: diff_code(actual_code, expected_file) - assert(actual_code == expected_code) + assert actual_code == expected_code else: print(f"Warning, {test_file} is missing a .cpp file.", file=sys.stderr) diff --git a/sources/pyside-tools/qtpy2cpp_lib/visitor.py b/sources/pyside-tools/qtpy2cpp_lib/visitor.py index 1e8b5dc84..2056951ae 100644 --- a/sources/pyside-tools/qtpy2cpp_lib/visitor.py +++ b/sources/pyside-tools/qtpy2cpp_lib/visitor.py @@ -10,8 +10,7 @@ import warnings from .formatter import (CppFormatter, format_for_loop, format_literal, format_name_constant, - format_reference, format_start_function_call, - write_import, write_import_from) + format_reference, write_import, write_import_from) from .nodedump import debug_format_node from .qt import ClassFlag, qt_class_flags -- cgit v1.2.3