Skip to content

Commit 4254fd1

Browse files
committed
Update space downloads and repository url parsing (#1422)
1 parent 46324fc commit 4254fd1

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

repology/parsers/parsers/spack.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
from libversion import version_compare
2121

22-
from repology.package import PackageFlags
22+
from repology.package import LinkType, PackageFlags
2323
from repology.packagemaker import NameType, PackageFactory, PackageMaker
2424
from repology.parsers import Parser
2525
from repology.parsers.json import iter_json_dict
@@ -65,6 +65,14 @@ def iter_parse(self, path: str, factory: PackageFactory) -> Iterable[PackageMake
6565
verpkg.set_flags(PackageFlags.ROLLING)
6666

6767
verpkg.set_version(pkgverdata['version'], normalize_version)
68-
verpkg.add_downloads(pkgverdata['downloads'])
68+
69+
if downloads := pkgverdata.get('downloads'):
70+
verpkg.add_links(LinkType.UPSTREAM_DOWNLOAD, downloads)
71+
elif repositories := pkgverdata.get('repositories'):
72+
if isinstance(repositories, dict):
73+
# XXX: legacy, repositories are expected to be a list https://github.com/spack/packages.spack.io/pull/24
74+
verpkg.add_links(LinkType.UPSTREAM_REPOSITORY, repositories['url'])
75+
elif isinstance(repositories, list):
76+
verpkg.add_links(LinkType.UPSTREAM_REPOSITORY, [repository['url'] for repository in repositories])
6977

7078
yield verpkg

0 commit comments

Comments
 (0)