Skip to content

Commit a52bddf

Browse files
authored
fix_handle_url_bugs (#117)
1 parent 17edcd3 commit a52bddf

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

python/setup_tools/utils/tools.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,30 @@ def __init__(self):
7878
NetConfig.headers = {'User-Agent': NetConfig.user_agent}
7979

8080
def download(self, url=None, path=None, file_name=None, mode=None, module=None, required=False):
81-
self.init_single_src_settings(url, path, file_name, mode)
81+
if url:
82+
self.init_single_src_settings(url, path, file_name, mode)
8283

8384
if mode == "git" or module:
8485
return self.git_clone(module, required)
8586
else:
8687
return self.general_download(is_decompress=True)
8788

89+
def normalize_url(self, origin_url, default_scheme="https"):
90+
try:
91+
from urllib.parse import urlparse
92+
except ImportError:
93+
return origin_url # Fallback if urlparse is not available, return as is
94+
95+
parsed_url = urlparse(origin_url)
96+
if parsed_url.scheme:
97+
return origin_url
98+
elif origin_url.startswith("/"):
99+
return "file://" + origin_url
100+
else:
101+
return f"{default_scheme}://{origin_url}"
102+
88103
def init_single_src_settings(self, url, path, file_name, mode):
89-
self.current_url = url
104+
self.current_url = self.normalize_url(url)
90105
self.current_dst_path = path
91106
self.current_file_name = file_name
92107
self.src_list[self.current_url] = {"mode": mode, "path": path, "status": None, "content": None}

0 commit comments

Comments
 (0)