@@ -486,20 +486,25 @@ def prepare_linked_requirement(self, req, parallel_builds=False):
486
486
link = req .link
487
487
self ._log_preparing_link (req )
488
488
with indent_log ():
489
+ # Check if the relevant file is already available
490
+ # in the download directory
491
+ file_path = None
489
492
download_dir = self ._get_download_dir (req .link )
490
493
if download_dir is not None and link .is_wheel :
491
494
hashes = self ._get_linked_req_hashes (req )
492
495
file_path = _check_download_dir (req .link , download_dir , hashes )
493
- if file_path is not None :
494
- self ._downloaded [req .link .url ] = file_path , None
495
- else :
496
- file_path = None
497
496
498
- if file_path is None :
497
+ if file_path is not None :
498
+ # The file is already available, so mark it as downloaded
499
+ self ._downloaded [req .link .url ] = file_path , None
500
+ else :
501
+ # The file is not available, attempt to fetch only metadata
499
502
wheel_dist = self ._fetch_metadata_using_lazy_wheel (link )
500
503
if wheel_dist is not None :
501
504
req .needs_more_preparation = True
502
505
return wheel_dist
506
+
507
+ # None of the optimizations worked, fully prepare the requirement
503
508
return self ._prepare_linked_requirement (req , parallel_builds )
504
509
505
510
def prepare_linked_requirements_more (self , reqs , parallel_builds = False ):
0 commit comments