@@ -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