pybiolib 1.2.565__py3-none-any.whl → 1.2.567__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@ from biolib.compute_node import utils as compute_node_utils
27
27
  from biolib.compute_node.cloud_utils import CloudUtils
28
28
  from biolib.compute_node.job_worker.docker_image_cache import DockerImageCache
29
29
  from biolib.compute_node.job_worker.executors.docker_types import DockerDiffKind
30
- from biolib.compute_node.job_worker.executors.types import LocalExecutorOptions, StatusUpdate, MetadataToSaveOutput
30
+ from biolib.compute_node.job_worker.executors.types import LocalExecutorOptions, MetadataToSaveOutput, StatusUpdate
31
31
  from biolib.compute_node.job_worker.mappings import Mappings, path_without_first_folder
32
32
  from biolib.compute_node.job_worker.utilization_reporter_thread import UtilizationReporterThread
33
33
  from biolib.compute_node.job_worker.utils import ComputeProcessException
@@ -598,12 +598,33 @@ class DockerExecutor:
598
598
 
599
599
  def _get_changed_files_in_docker_container(self) -> List[FileInContainer]:
600
600
  from_mappings = [mapping['from_path'] for mapping in self._options['module']['output_files_mappings']]
601
- post_run_diff = self._container.diff()
602
- run_diff_paths: List[str] = [
603
- obj['Path']
604
- for obj in post_run_diff
605
- if obj['Kind'] in (DockerDiffKind.CHANGED.value, DockerDiffKind.ADDED.value)
606
- ]
601
+ overlay_upper_dir_path = self._get_container_upper_dir_path()
602
+
603
+ if not overlay_upper_dir_path:
604
+ logger_no_user_data.debug(
605
+ 'Docker UpperDir not available. Falling back to container.get_archive() for file extraction'
606
+ )
607
+ post_run_diff = self._container.diff()
608
+ run_diff_paths: List[str] = [
609
+ obj['Path']
610
+ for obj in post_run_diff
611
+ if obj['Kind'] in (DockerDiffKind.CHANGED.value, DockerDiffKind.ADDED.value)
612
+ ]
613
+ else:
614
+ logger_no_user_data.debug(f'overlay_upper_dir_path={overlay_upper_dir_path}')
615
+ # Recursively find all files in overlay_upper_dir_path
616
+ run_diff_paths = []
617
+ for root, _, files in os.walk(overlay_upper_dir_path):
618
+ # Convert absolute paths to container paths
619
+ rel_path = os.path.relpath(root, overlay_upper_dir_path)
620
+ if rel_path == '.':
621
+ # Handle the root directory case
622
+ for file in files:
623
+ run_diff_paths.append(f'/{file}')
624
+ else:
625
+ # Handle subdirectories
626
+ for file in files:
627
+ run_diff_paths.append(f'/{rel_path}/{file}')
607
628
 
608
629
  known_directories = set()
609
630
  for path in run_diff_paths:
@@ -621,14 +642,6 @@ class DockerExecutor:
621
642
  return True
622
643
  return False
623
644
 
624
- overlay_upper_dir_path = self._get_container_upper_dir_path()
625
- if not overlay_upper_dir_path:
626
- logger_no_user_data.debug(
627
- 'Docker UpperDir not available. Falling back to container.get_archive() for file extraction'
628
- )
629
-
630
- logger_no_user_data.debug(f'overlay_upper_dir_path={overlay_upper_dir_path}')
631
-
632
645
  files_and_empty_dirs: List[FileInContainer] = []
633
646
  for path in run_diff_paths:
634
647
  if path not in known_directories and path_is_included_in_from_mappings(path):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pybiolib
3
- Version: 1.2.565
3
+ Version: 1.2.567
4
4
  Summary: BioLib Python Client
5
5
  License: MIT
6
6
  Keywords: biolib
@@ -76,7 +76,7 @@ biolib/compute_node/job_worker/cache_state.py,sha256=MwjSRzcJJ_4jybqvBL4xdgnDYSI
76
76
  biolib/compute_node/job_worker/cache_types.py,sha256=ajpLy8i09QeQS9dEqTn3T6NVNMY_YsHQkSD5nvIHccQ,818
77
77
  biolib/compute_node/job_worker/docker_image_cache.py,sha256=ansHIkJIq_EMW1nZNlW-RRLVVeKWTbzNICYaOHpKiRE,7460
78
78
  biolib/compute_node/job_worker/executors/__init__.py,sha256=bW6t1qi3PZTlHM4quaTLa8EI4ALTCk83cqcVJfJfJfE,145
79
- biolib/compute_node/job_worker/executors/docker_executor.py,sha256=RBBPjxL-zqI77vHWG7ssrFGFSsHVob7TuIMw36URPQ0,31111
79
+ biolib/compute_node/job_worker/executors/docker_executor.py,sha256=FFN4dn3mV19u6imT8e4vjpfDIxX9d3bpq9x2JPVOAus,31811
80
80
  biolib/compute_node/job_worker/executors/docker_types.py,sha256=VhsU1DKtJjx_BbCkVmiPZPH4ROiL1ygW1Y_s1Kbpa2o,216
81
81
  biolib/compute_node/job_worker/executors/tars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  biolib/compute_node/job_worker/executors/types.py,sha256=wbjWZZ2f9FttjqUCCOeZmn7n3L3Hu-7-2PZJ3BVf_Ps,1626
@@ -119,8 +119,8 @@ biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3
119
119
  biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
120
120
  biolib/utils/seq_util.py,sha256=Ozk0blGtPur_D9MwShD02r_mphyQmgZkx-lOHOwnlIM,6730
121
121
  biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
122
- pybiolib-1.2.565.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
123
- pybiolib-1.2.565.dist-info/METADATA,sha256=_CM-jsOMgyM_KMENpfQz0auad3iMgTcoiGDKlvfTcC8,1570
124
- pybiolib-1.2.565.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
125
- pybiolib-1.2.565.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
126
- pybiolib-1.2.565.dist-info/RECORD,,
122
+ pybiolib-1.2.567.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
123
+ pybiolib-1.2.567.dist-info/METADATA,sha256=cYbTCTlMWjLsgfbKKtLkHmAn3WZ2ezprxNiAadnwqmo,1570
124
+ pybiolib-1.2.567.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
125
+ pybiolib-1.2.567.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
126
+ pybiolib-1.2.567.dist-info/RECORD,,