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