[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.