diff --git a/swh/lister/nixguix/lister.py b/swh/lister/nixguix/lister.py --- a/swh/lister/nixguix/lister.py +++ b/swh/lister/nixguix/lister.py @@ -25,6 +25,7 @@ from urllib.parse import urlparse import requests +from requests.exceptions import InvalidSchema, SSLError from swh.core.github.utils import GitHubSession from swh.core.tarball import MIMETYPE_TO_ARCHIVE_FORMAT @@ -155,7 +156,7 @@ try: response = request.head(url) - except requests.exceptions.InvalidSchema: + except (InvalidSchema, SSLError): raise ArtifactNatureUndetected( f"Cannot determine artifact type from url <{url}>" ) diff --git a/swh/lister/nixguix/tests/data/guix-swh_sources.json b/swh/lister/nixguix/tests/data/guix-swh_sources.json --- a/swh/lister/nixguix/tests/data/guix-swh_sources.json +++ b/swh/lister/nixguix/tests/data/guix-swh_sources.json @@ -24,6 +24,11 @@ "type": "url", "urls": [ "unknown://example.org/wrong-scheme-so-skipped.txt" ], "integrity": "sha256-wAEswtkl3ulAw3zq4perrGS6Wlww5XXnQYsEAoYT9fI=" + }, + { + "type": "url", + "urls": [ "https://code.9front.org/hg/plan9front" ], + "integrity": "sha256-wAEswtkl3ulAw3zq4perrGS6Wlww5XXnQYsEAoYT9fI=" } ], "version":"1", diff --git a/swh/lister/nixguix/tests/test_lister.py b/swh/lister/nixguix/tests/test_lister.py --- a/swh/lister/nixguix/tests/test_lister.py +++ b/swh/lister/nixguix/tests/test_lister.py @@ -235,6 +235,11 @@ "ftp://ftp.ourproject.org/file-with-no-extension", exc=requests.exceptions.InvalidSchema, ) + # Cannot communicate with an expired cert so skip + requests_mock.head( + "https://code.9front.org/hg/plan9front", + exc=requests.exceptions.SSLError, + ) listed_result = lister.run() # only the origin upstream is listed, every other entries are unsupported or incomplete