scripts/kde/collect-metadata: option to use unstable version

K900 818c7c21 2e1ed6a2

Changed files
+28 -20
maintainers
+7 -2
maintainers/scripts/kde/collect-metadata.py
···
),
default=pathlib.Path(__file__).parent.parent.parent.parent
)
-
def main(repo_metadata: pathlib.Path, nixpkgs: pathlib.Path):
-
metadata = utils.KDERepoMetadata.from_repo_metadata_checkout(repo_metadata)
out_dir = nixpkgs / "pkgs/kde/generated"
metadata.write_json(out_dir)
···
),
default=pathlib.Path(__file__).parent.parent.parent.parent
)
+
@click.option(
+
"--unstable",
+
default=False,
+
is_flag=True
+
)
+
def main(repo_metadata: pathlib.Path, nixpkgs: pathlib.Path, unstable: bool):
+
metadata = utils.KDERepoMetadata.from_repo_metadata_checkout(repo_metadata, unstable)
out_dir = nixpkgs / "pkgs/kde/generated"
metadata.write_json(out_dir)
+21 -18
maintainers/scripts/kde/utils.py
···
return project
@classmethod
-
def from_repo_metadata_checkout(cls, repo_metadata: pathlib.Path):
projects = [
Project.from_yaml(metadata_file)
for metadata_file in repo_metadata.glob("projects-invent/**/metadata.yaml")
···
dep_graph={},
)
-
dep_specs = ["dependency-data-stable-kf6-qt6"]
dep_graph = collections.defaultdict(set)
-
for spec in dep_specs:
-
spec_path = repo_metadata / "dependencies" / spec
-
for line in spec_path.open():
-
line = line.strip()
-
if line.startswith("#"):
-
continue
-
if not line:
-
continue
-
dependent, dependency = line.split(": ")
-
dependent = self.try_lookup_package(dependent)
-
if dependent is None:
-
continue
-
dependency = self.try_lookup_package(dependency)
-
if dependency is None:
-
continue
-
dep_graph[dependent].add(dependency)
self.dep_graph = dep_graph
···
return project
@classmethod
+
def from_repo_metadata_checkout(cls, repo_metadata: pathlib.Path, unstable=False):
projects = [
Project.from_yaml(metadata_file)
for metadata_file in repo_metadata.glob("projects-invent/**/metadata.yaml")
···
dep_graph={},
)
dep_graph = collections.defaultdict(set)
+
if unstable:
+
spec_name = "dependency-data-kf6-qt6"
+
else:
+
spec_name = "dependency-data-stable-kf6-qt6"
+
+
spec_path = repo_metadata / "dependencies" / spec_name
+
for line in spec_path.open():
+
line = line.strip()
+
if line.startswith("#"):
+
continue
+
if not line:
+
continue
+
dependent, dependency = line.split(": ")
+
dependent = self.try_lookup_package(dependent)
+
if dependent is None:
+
continue
+
dependency = self.try_lookup_package(dependency)
+
if dependency is None:
+
continue
+
dep_graph[dependent].add(dependency)
self.dep_graph = dep_graph