diff options
Diffstat (limited to 'sources/pyside-tools/project_lib')
| -rw-r--r-- | sources/pyside-tools/project_lib/project_data.py | 13 | ||||
| -rw-r--r-- | sources/pyside-tools/project_lib/pyproject_parse_result.py | 2 | ||||
| -rw-r--r-- | sources/pyside-tools/project_lib/pyproject_toml.py | 9 |
3 files changed, 23 insertions, 1 deletions
diff --git a/sources/pyside-tools/project_lib/project_data.py b/sources/pyside-tools/project_lib/project_data.py index 9a219c957..928e79c7b 100644 --- a/sources/pyside-tools/project_lib/project_data.py +++ b/sources/pyside-tools/project_lib/project_data.py @@ -34,8 +34,10 @@ class ProjectData: self._python_files: list[Path] = [] # ui files self._ui_files: list[Path] = [] + self._uic_options: list[str] = [] # qrc files self._qrc_files: list[Path] = [] + self._rcc_options: list[str] = [] # ts files self._ts_files: list[Path] = [] @@ -53,6 +55,9 @@ class ProjectData: print(f"{error}", file=sys.stderr) sys.exit(1) + self._rcc_options = project_file_data.rcc_options + self._uic_options = project_file_data.uic_options + for f in project_file_data.files: file = Path(project_file.parent / f) if any(file.match(pattern) for pattern in PYPROJECT_FILE_PATTERNS): @@ -101,10 +106,18 @@ class ProjectData: return self._ui_files @property + def uic_options(self): + return self._uic_options + + @property def qrc_files(self): return self._qrc_files @property + def rcc_options(self): + return self._rcc_options + + @property def qml_files(self): return self._qml_files diff --git a/sources/pyside-tools/project_lib/pyproject_parse_result.py b/sources/pyside-tools/project_lib/pyproject_parse_result.py index 6a04bf5ce..4c3264b52 100644 --- a/sources/pyside-tools/project_lib/pyproject_parse_result.py +++ b/sources/pyside-tools/project_lib/pyproject_parse_result.py @@ -8,3 +8,5 @@ from pathlib import Path class PyProjectParseResult: errors: list[str] = field(default_factory=list) files: list[Path] = field(default_factory=list) + rcc_options: list[str] = field(default_factory=list) + uic_options: list[str] = field(default_factory=list) diff --git a/sources/pyside-tools/project_lib/pyproject_toml.py b/sources/pyside-tools/project_lib/pyproject_toml.py index 6da7b455e..bc5a0f69d 100644 --- a/sources/pyside-tools/project_lib/pyproject_toml.py +++ b/sources/pyside-tools/project_lib/pyproject_toml.py @@ -91,11 +91,18 @@ def parse_pyproject_toml(pyproject_toml_file: Path) -> PyProjectParseResult: result.errors.append(str(e)) return result - pyside_table = root_table.get("tool", {}).get("pyside6-project", {}) + tool_entry = root_table.get("tool", {}) + pyside_table = tool_entry.get("pyside6-project", {}) if not pyside_table: result.errors.append("Missing [tool.pyside6-project] table") return result + if rcc_table := tool_entry.get("pyside6-rcc", {}): + result.rcc_options = rcc_table.get("options", []) + + if uic_table := tool_entry.get("pyside6-uic", {}): + result.uic_options = uic_table.get("options", []) + files = pyside_table.get("files", []) if not isinstance(files, list): result.errors.append("Missing or invalid files list") |
