From 9dca5a4cd3bb215acd463d9e1e31a7ba58ea04c0 Mon Sep 17 00:00:00 2001 From: KShivendu <shivendu@iitbhilai.ac.in> Date: Thu, 26 Aug 2021 09:46:48 +0530 Subject: [PATCH] nixguix: Handle downloads for urls with missing schema Some of the URLs don't have a schema (ex: http) and it blocks the loader from downloading the corresponding repos. This diff should fix the issue. Related T3294 --- swh/loader/package/nixguix/loader.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/swh/loader/package/nixguix/loader.py b/swh/loader/package/nixguix/loader.py index 72ec8783..01243a31 100644 --- a/swh/loader/package/nixguix/loader.py +++ b/swh/loader/package/nixguix/loader.py @@ -8,6 +8,7 @@ import json import logging import re from typing import Any, Dict, Iterator, List, Mapping, Optional, Tuple +from urllib.parse import urlparse import attr @@ -48,11 +49,12 @@ class NixGuixPackageInfo(BasePackageInfo): @classmethod def from_metadata(cls, metadata: Dict[str, Any]) -> "NixGuixPackageInfo": + url = metadata["url"] + if not urlparse(url).scheme: + url = f"http://{url}" + return cls( - url=metadata["url"], - filename=None, - integrity=metadata["integrity"], - raw_info=metadata, + url=url, filename=None, integrity=metadata["integrity"], raw_info=metadata, ) def extid(self) -> PartialExtID: -- GitLab