aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside-tools/project_lib
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside-tools/project_lib')
-rw-r--r--sources/pyside-tools/project_lib/project_data.py13
-rw-r--r--sources/pyside-tools/project_lib/pyproject_parse_result.py2
-rw-r--r--sources/pyside-tools/project_lib/pyproject_toml.py9
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")