@@ -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 
94102    response  =  requests .get (url )
95103    try :
96104        if  response .status_code  !=  200 :
@@ -108,15 +116,19 @@ 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 
121+         package_json  =  json .load (open (package_json_url [7 :]))
122+     else :
123+         response  =  requests .get (_rewrite_url (package_json_url , version ))
124+         try :
125+             if  response .status_code  !=  200 :
126+                 print ("Package not found:" , package_json_url )
127+                 return  False 
116128
117-         package_json  =  response .json ()
118-     finally :
119-         response .close ()
129+              package_json  =  response .json ()
130+          finally :
131+              response .close ()
120132    for  target_path , short_hash  in  package_json .get ("hashes" , ()):
121133        fs_target_path  =  target  +  "/"  +  target_path 
122134        if  _check_exists (fs_target_path , short_hash ):
0 commit comments