From a23237b91f34ddfa235c65a2ef556ef0692ec4e4 Mon Sep 17 00:00:00 2001 From: Sebastian Schuberth Date: Fri, 3 May 2024 17:48:17 +0200 Subject: [PATCH] fix(python): Support ZIP archives for source artifacts See e.g. [1] which has `wget-3.2.zip`. [1]: https://pypi.org/project/wget/#files Signed-off-by: Sebastian Schuberth --- .../src/main/kotlin/utils/PythonInspectorExtensions.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/package-managers/python/src/main/kotlin/utils/PythonInspectorExtensions.kt b/plugins/package-managers/python/src/main/kotlin/utils/PythonInspectorExtensions.kt index d6d99ca99df5d..551f9d8d1b072 100644 --- a/plugins/package-managers/python/src/main/kotlin/utils/PythonInspectorExtensions.kt +++ b/plugins/package-managers/python/src/main/kotlin/utils/PythonInspectorExtensions.kt @@ -126,8 +126,8 @@ internal fun List.toOrtPackages(): Set = @Suppress("UseOrEmpty") fun PythonInspector.Package.getHash(): Hash = Hash.create(sha512 ?: sha256 ?: sha1 ?: md5 ?: "") - fun getArtifact(fileExtension: String) = - packages.find { it.downloadUrl.endsWith(fileExtension) }?.let { + fun getArtifact(vararg fileExtensions: String) = + packages.find { pkg -> fileExtensions.any { pkg.downloadUrl.endsWith(it) } }?.let { RemoteArtifact( url = it.downloadUrl, hash = it.getHash() @@ -151,7 +151,7 @@ internal fun List.toOrtPackages(): Set = description = pkg.description.lineSequence().firstOrNull { it.isNotBlank() }.orEmpty(), homepageUrl = pkg.homepageUrl.orEmpty(), binaryArtifact = getArtifact(".whl"), - sourceArtifact = getArtifact(".tar.gz"), + sourceArtifact = getArtifact(".tar.gz", ".zip"), vcs = VcsInfo.EMPTY.copy(url = pkg.vcsUrl.orEmpty()), vcsProcessed = PackageManager.processPackageVcs( VcsInfo(VcsType.UNKNOWN, pkg.vcsUrl.orEmpty(), revision = ""),