diff options
| author | Jaime Resano <Jaime.Resano-Aisa@qt.io> | 2025-01-21 11:17:07 +0100 |
|---|---|---|
| committer | Jaime Resano <Jaime.Resano-Aisa@qt.io> | 2025-01-22 22:46:43 +0100 |
| commit | 23b7ff61fb899ef8ae305df134d2c0968dce1fa2 (patch) | |
| tree | 15f5a0afdf5335b883f531d5824d8994306625b4 /sources/pyside-tools/project_lib/design_studio_project.py | |
| parent | 30f8707e1c677e3a42a93d1b2b17bd563b9de847 (diff) | |
pyside6-deploy: 3. Rename project folder to project_lib
This is a refactor in order to improve the code clarity. In the testing
of the pyside6-project command, importlib.import_module is used to
import the project_lib folder. Currently,
importlib.import_module("project") is ambiguous because it may refer
to both the file and the folder. It chooses the folder over the file.
Task-number: PYSIDE-1612
Pick-to: 6.8
Change-Id: I8903ea9d2112cf2eb7a68d0e302d3c74edcf2c22
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside-tools/project_lib/design_studio_project.py')
| -rw-r--r-- | sources/pyside-tools/project_lib/design_studio_project.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sources/pyside-tools/project_lib/design_studio_project.py b/sources/pyside-tools/project_lib/design_studio_project.py new file mode 100644 index 000000000..ef1935dc4 --- /dev/null +++ b/sources/pyside-tools/project_lib/design_studio_project.py @@ -0,0 +1,37 @@ +# Copyright (C) 2024 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 pathlib import Path + + +class DesignStudioProject: + """ + Class to handle Design Studio projects. The project structure is as follows: + - Python folder + - autogen folder + - settings.py + - resources.py (Compiled resources) + - main.py + <ProjectName>.qrc (Resources collection file) + <ProjectName>.qmlproject + <ProjectName>.qmlproject.qtds + ... Other files and folders ... + """ + + def __init__(self, main_file: Path): + self.main_file = main_file + self.project_dir = main_file.parent.parent + self.compiled_resources_file = self.main_file.parent / "autogen" / "resources.py" + + @staticmethod + def is_ds_project(main_file: Path) -> bool: + return bool(*main_file.parent.parent.glob("*.qmlproject")) and bool( + *main_file.parent.parent.glob("*.qmlproject.qtds") + ) + + def compiled_resources_available(self) -> bool: + """ + Returns whether the resources of the project have been compiled into a .py file. + TODO: Make the resources path configurable. Wait for the TOML configuration change + """ + return self.compiled_resources_file.exists() |
