@@ -91,6 +91,14 @@ def _rewrite_url(url, branch=None):
9191
9292
9393def _download_file (url ,dest ):
94+ if url .startswith ("file://" ):
95+ print ("Copying:" ,dest )
96+ src = url [7 :]
97+ _ensure_path_exists (dest )
98+ with open (src ,"b" )as sf :
99+ with open (dest ,"wb" )as f :
100+ _chunk (sf ,f .write )
101+ return True
94102response = requests .get (url )
95103try :
96104if response .status_code != 200 :
@@ -108,15 +116,20 @@ def _download_file(url, dest):
108116
109117
110118def _install_json (package_json_url ,index ,target ,version ,mpy ):
111- response = requests .get (_rewrite_url (package_json_url ,version ))
112- try :
113- if response .status_code != 200 :
114- print ("Package not found:" ,package_json_url )
115- return False
119+ if package_json_url .startswith ("file://" ):
120+ import json
116121
117- package_json = response .json ()
118- finally :
119- response .close ()
122+ package_json = json .load (open (package_json_url [7 :]))
123+ else :
124+ response = requests .get (_rewrite_url (package_json_url ,version ))
125+ try :
126+ if response .status_code != 200 :
127+ print ("Package not found:" ,package_json_url )
128+ return False
129+
130+ package_json = response .json ()
131+ finally :
132+ response .close ()
120133for target_path ,short_hash in package_json .get ("hashes" , ()):
121134fs_target_path = target + "/" + target_path
122135if _check_exists (fs_target_path ,short_hash ):