[sdk/kde-builder] /: _read_ignore_kde_projects()
Andrew Shark <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit dedf702fc2e8320bfe4ff8f3f27766c8c8cafd68 by Andrew Shark.
Committed on 18/08/2026 at 23:34.
Pushed by ashark into branch 'master'.
_read_ignore_kde_projects()
M +15 -28 kde_builder/metadata/metadata.py
R +0 -0 tests/fixtures/repo-metadata/ignore-kde-projects [from: tests/fixtures/repo-metadata/kde-dependencies/ignore-kde-projects - 100% similarity]
https://invent.kde.org/sdk/kde-builder/-/commit/dedf702fc2e8320bfe4ff8f3f27766c8c8cafd68
diff --git a/kde_builder/metadata/metadata.py b/kde_builder/metadata/metadata.py
index a68eb2f5..3499061e 100644
--- a/kde_builder/metadata/metadata.py
+++ b/kde_builder/metadata/metadata.py
@@ -4,11 +4,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
import yaml
-import re
from kde_builder import KB_REPO_DIR
from kde_builder.kb_exception import KBRuntimeError
-from kde_builder.kb_exception import ProgramError
from kde_builder.debug import Debug
@@ -20,41 +18,30 @@ class Metadata:
def __init__(self, path_to_metadata: str):
self.path_to_metadata = path_to_metadata
- self.ignored_projects = self._ignored_modules()
+ self.ignored_projects = self._read_ignore_kde_projects()
self.branch_groups = self._read_branch_groups()
- def _ignored_modules(self) -> list[str]:
+ def _read_ignore_kde_projects(self) -> list[str]:
"""
- Return a list of the full kde-project paths for each module to ignore.
+ Return a list of the full kde-project paths for each project to ignore.
"""
- path = self.path_to_metadata + "/kde-dependencies/ignore-kde-projects"
-
- # Now that we in theory have up-to-date source code, read in the
- # ignore file and propagate that information to our context object.
+ path = self.path_to_metadata + "/ignore-kde-projects"
if Debug().is_testing():
- path = KB_REPO_DIR + "/tests/fixtures/repo-metadata/kde-dependencies/ignore-kde-projects"
+ path = KB_REPO_DIR + "/tests/fixtures/repo-metadata/ignore-kde-projects"
+ ignore_projects = []
try:
- fh = open(path, "r")
- except IOError:
- raise ProgramError(f"Unable to read ignore data from {path}")
-
- ignore_modules = []
- for line in fh:
- # 1 Remove comments
- line = re.sub("#.*$", "", line)
-
- # 2 Filter empty lines
- if not line.strip():
- continue
-
- # 3 Remove newlines
- line = line.rstrip("\n")
+ with open(path, "r") as file:
+ for line in file:
+ line = line.split("#", 1)[0].strip() # Remove comments, leading and trailing whitespace and newlines
+ if not line:
+ continue
+ ignore_projects.append(line)
+ except FileNotFoundError:
+ raise KBRuntimeError("Unable to read ignore-kde-projects")
- ignore_modules.append(line)
- fh.close()
- return ignore_modules
+ return ignore_projects
def _read_branch_groups(self) -> dict:
"""
diff --git a/tests/fixtures/repo-metadata/kde-dependencies/ignore-kde-projects b/tests/fixtures/repo-metadata/ignore-kde-projects
similarity index 100%
rename from tests/fixtures/repo-metadata/kde-dependencies/ignore-kde-projects
rename to tests/fixtures/repo-metadata/ignore-kde-projects