cloud-files 6.2.0__tar.gz → 6.2.2__tar.gz

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.
Files changed (39) hide show
  1. {cloud_files-6.2.0 → cloud_files-6.2.2}/ChangeLog +10 -0
  2. {cloud_files-6.2.0 → cloud_files-6.2.2}/PKG-INFO +1 -1
  3. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloud_files.egg-info/PKG-INFO +1 -1
  4. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloud_files.egg-info/SOURCES.txt +0 -1
  5. cloud_files-6.2.2/cloud_files.egg-info/pbr.json +1 -0
  6. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/interfaces.py +5 -2
  7. cloud_files-6.2.0/cloud_files.egg-info/pbr.json +0 -1
  8. cloud_files-6.2.0/cloudfiles/test.py +0 -28
  9. {cloud_files-6.2.0 → cloud_files-6.2.2}/.github/workflows/test-suite.yml +0 -0
  10. {cloud_files-6.2.0 → cloud_files-6.2.2}/AUTHORS +0 -0
  11. {cloud_files-6.2.0 → cloud_files-6.2.2}/LICENSE +0 -0
  12. {cloud_files-6.2.0 → cloud_files-6.2.2}/MANIFEST.in +0 -0
  13. {cloud_files-6.2.0 → cloud_files-6.2.2}/README.md +0 -0
  14. {cloud_files-6.2.0 → cloud_files-6.2.2}/automated_test.py +0 -0
  15. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloud_files.egg-info/dependency_links.txt +0 -0
  16. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloud_files.egg-info/entry_points.txt +0 -0
  17. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloud_files.egg-info/not-zip-safe +0 -0
  18. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloud_files.egg-info/requires.txt +0 -0
  19. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloud_files.egg-info/top_level.txt +0 -0
  20. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/__init__.py +0 -0
  21. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/cloudfiles.py +0 -0
  22. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/compression.py +0 -0
  23. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/connectionpools.py +0 -0
  24. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/exceptions.py +0 -0
  25. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/gcs.py +0 -0
  26. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/lib.py +0 -0
  27. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/monitoring.py +0 -0
  28. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/paths.py +0 -0
  29. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/resumable_tools.py +0 -0
  30. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/scheduler.py +0 -0
  31. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/secrets.py +0 -0
  32. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/threaded_queue.py +0 -0
  33. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles/typing.py +0 -0
  34. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles_cli/LICENSE +0 -0
  35. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles_cli/__init__.py +0 -0
  36. {cloud_files-6.2.0 → cloud_files-6.2.2}/cloudfiles_cli/cloudfiles_cli.py +0 -0
  37. {cloud_files-6.2.0 → cloud_files-6.2.2}/requirements.txt +0 -0
  38. {cloud_files-6.2.0 → cloud_files-6.2.2}/setup.cfg +0 -0
  39. {cloud_files-6.2.0 → cloud_files-6.2.2}/setup.py +0 -0
@@ -1,6 +1,16 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
+ 6.2.2
5
+ -----
6
+
7
+ * fix: handle more synthetic etags
8
+
9
+ 6.2.1
10
+ -----
11
+
12
+ * fix: handle synthetic etags from NFS uploaded objects on Dell ECS
13
+
4
14
  6.2.0
5
15
  -----
6
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloud-files
3
- Version: 6.2.0
3
+ Version: 6.2.2
4
4
  Summary: Fast access to cloud storage and local FS.
5
5
  Home-page: https://github.com/seung-lab/cloud-files/
6
6
  Author: William Silversmith
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloud-files
3
- Version: 6.2.0
3
+ Version: 6.2.2
4
4
  Summary: Fast access to cloud storage and local FS.
5
5
  Home-page: https://github.com/seung-lab/cloud-files/
6
6
  Author: William Silversmith
@@ -29,7 +29,6 @@ cloudfiles/paths.py
29
29
  cloudfiles/resumable_tools.py
30
30
  cloudfiles/scheduler.py
31
31
  cloudfiles/secrets.py
32
- cloudfiles/test.py
33
32
  cloudfiles/threaded_queue.py
34
33
  cloudfiles/typing.py
35
34
  cloudfiles_cli/LICENSE
@@ -0,0 +1 @@
1
+ {"git_version": "c6239ff", "is_release": true}
@@ -30,6 +30,7 @@ from .secrets import (
30
30
  CLOUD_FILES_LOCK_DIR,
31
31
  )
32
32
 
33
+ NFS_ETAG_REGEXP = re.compile(r'\d+\-$')
33
34
  COMPRESSION_EXTENSIONS = ('.gz', '.br', '.zstd','.bz2','.xz')
34
35
  GZIP_TYPES = (True, 'gzip', 1)
35
36
 
@@ -1327,8 +1328,10 @@ class S3Interface(StorageInterface):
1327
1328
  etag = etag.lstrip('"').rstrip('"')
1328
1329
  # AWS has special multipart validation
1329
1330
  # so we handle it here... leaky abstraction.
1330
- if '-' in etag:
1331
- if not validate_s3_multipart_etag(content, etag, part_size):
1331
+ if '-' in etag:
1332
+ # Dell ECS S3 uses a synthetic Etag of "1-" (and similar) for objects
1333
+ # ingested via NFS. Not good behavior, but nothing much we can do other than ignore it.
1334
+ if not NFS_ETAG_REGEXP.match(etag) and not validate_s3_multipart_etag(content, etag, part_size):
1332
1335
  raise MD5IntegrityError(f"{file_path} failed its multipart md5 check. server md5: {etag}")
1333
1336
  etag = None
1334
1337
  else:
@@ -1 +0,0 @@
1
- {"git_version": "a0c3192", "is_release": true}
@@ -1,28 +0,0 @@
1
- import igneous.task_creation as tc
2
- import os
3
- from taskqueue import totask
4
- import igneous.tasks
5
-
6
-
7
- def process_task(msg):
8
- task = totask(msg)
9
- task.execute()
10
- return None
11
-
12
- def submit_tasks():
13
- paths = [
14
- "gs://ng_scratch_ranl_7/make_cv_happy/seg/20250403024338",]
15
- all_tasks = []
16
- for img_path in paths:
17
- mip = 0
18
- num_mips = 2
19
- tasks = tc.create_downsampling_tasks(img_path,
20
- fill_missing=False,
21
- delete_black_uploads=True,
22
- mip=mip, num_mips=num_mips)
23
- all_tasks += list(tasks)
24
- return all_tasks
25
-
26
- if __name__ == "__main__":
27
- tasks = submit_tasks()
28
- process_task(tasks[0])
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes