cloud-files 5.8.0__py3-none-any.whl → 5.8.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloud-files
3
- Version: 5.8.0
3
+ Version: 5.8.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
@@ -4,10 +4,10 @@ cloudfiles/compression.py,sha256=WXJHnoNLJ_NWyoY9ygZmFA2qMou35_9xS5dzF7-2H-M,626
4
4
  cloudfiles/connectionpools.py,sha256=aL8RiSjRepECfgAFmJcz80aJFKbou7hsbuEgugDKwB8,4814
5
5
  cloudfiles/exceptions.py,sha256=N0oGQNG-St6RvnT8e5p_yC_E61q2kgAe2scwAL0F49c,843
6
6
  cloudfiles/gcs.py,sha256=unqu5KxGKaPq6N4QeHSpCDdtnK1BzPOAerTZ8FLt2_4,3820
7
- cloudfiles/interfaces.py,sha256=5rUh2DWOVlg13fAxyZ0wAaQyfW04xc2zlUfTItFV-zQ,45325
7
+ cloudfiles/interfaces.py,sha256=M62UdugtWcF-J4iQMClHNDEQYu7xxCSc1aT7WW2C1lU,44942
8
8
  cloudfiles/lib.py,sha256=HHjCvjmOjA0nZWSvHGoSeYpxqd6FAG8xk8LM212LAUA,5382
9
9
  cloudfiles/monitoring.py,sha256=N5Xq0PYZK1OxoYtwBFsnnfaq7dElTgY8Rn2Ez_I3aoo,20897
10
- cloudfiles/paths.py,sha256=HOvtdLSIYGwlwvnZt9d_Ez3TXOe7WWd18bZNDpExUDQ,12231
10
+ cloudfiles/paths.py,sha256=FLdShqkOg1XlkHurU9eiKzLadx2JFYG1EmleCpOFsYQ,12229
11
11
  cloudfiles/resumable_tools.py,sha256=NyuSoGh1SaP5akrHCpd9kgy2-JruEWrHW9lvJxV7jpE,6711
12
12
  cloudfiles/scheduler.py,sha256=ioqBT5bMPCVHEHlnL-SW_wHulxGgjeThiKHlnaDOydo,3831
13
13
  cloudfiles/secrets.py,sha256=IuYKHmmvFmQTyG2Zcmbx7e8U2LIv-woG5d8qyOlyCD8,5431
@@ -17,11 +17,11 @@ cloudfiles/typing.py,sha256=f3ZYkNfN9poxhGu5j-P0KCxjCCqSn9HAg5KiIPkjnCg,416
17
17
  cloudfiles_cli/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
18
18
  cloudfiles_cli/__init__.py,sha256=Wftt3R3F21QsHtWqx49ODuqT9zcSr0em7wk48kcH0WM,29
19
19
  cloudfiles_cli/cloudfiles_cli.py,sha256=JlP9ocqxZbMANAZhZCQSvvjwe6syovQ1asUzSeAlNYk,38459
20
- cloud_files-5.8.0.dist-info/AUTHORS,sha256=BFVmobgAhaVFI5fqbuqAY5XmBQxe09ZZAsAOTy87hKQ,318
21
- cloud_files-5.8.0.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
22
- cloud_files-5.8.0.dist-info/METADATA,sha256=uXp_MHaSxsZl91_w6JH5AK57J0NrpGg0i5Wj5GstvYQ,30530
23
- cloud_files-5.8.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
24
- cloud_files-5.8.0.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
25
- cloud_files-5.8.0.dist-info/pbr.json,sha256=dhdn7QTnwpurvm9-sKoKO96OpKHfH64LwrYqVj-oPTs,46
26
- cloud_files-5.8.0.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
27
- cloud_files-5.8.0.dist-info/RECORD,,
20
+ cloud_files-5.8.2.dist-info/AUTHORS,sha256=BFVmobgAhaVFI5fqbuqAY5XmBQxe09ZZAsAOTy87hKQ,318
21
+ cloud_files-5.8.2.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
22
+ cloud_files-5.8.2.dist-info/METADATA,sha256=iMhQdNleZM5bNnHKDZ97QNjVuA-7GIWIMHa_wZtePLU,30530
23
+ cloud_files-5.8.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
24
+ cloud_files-5.8.2.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
25
+ cloud_files-5.8.2.dist-info/pbr.json,sha256=geeaELiKgs-Cl3LBIxRry_acNuF2kxgqEmZPNhjainY,46
26
+ cloud_files-5.8.2.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
27
+ cloud_files-5.8.2.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"git_version": "99528f8", "is_release": true}
cloudfiles/interfaces.py CHANGED
@@ -798,6 +798,7 @@ class GoogleCloudStorageInterface(StorageInterface):
798
798
  except google.cloud.exceptions.NotFound:
799
799
  pass
800
800
 
801
+
801
802
  @retry
802
803
  def list_files(self, prefix, flat=False):
803
804
  """
@@ -817,33 +818,22 @@ class GoogleCloudStorageInterface(StorageInterface):
817
818
  delimiter=delimiter,
818
819
  )
819
820
 
820
- first = True
821
- for blob in blobs:
822
- # This awkward construction is necessary
823
- # because the request that populates prefixes
824
- # isn't made until the iterator is activated.
825
- if first and blobs.prefixes:
821
+ for page in blobs.pages:
822
+ if page.prefixes:
826
823
  yield from (
827
824
  item.removeprefix(path)
828
- for item in blobs.prefixes
825
+ for item in page.prefixes
829
826
  )
830
- first = False
831
827
 
832
- filename = blob.name.removeprefix(layer_path)
833
- if not filename:
834
- continue
835
- elif not flat and filename[-1] != '/':
836
- yield filename
837
- elif flat and '/' not in blob.name.removeprefix(path):
838
- yield filename
828
+ for blob in page:
829
+ filename = blob.name.removeprefix(layer_path)
830
+ if not filename:
831
+ continue
832
+ elif not flat and filename[-1] != '/':
833
+ yield filename
834
+ elif flat and '/' not in blob.name.removeprefix(path):
835
+ yield filename
839
836
 
840
- # When there are no regular items at this level
841
- # we need to still print the directories.
842
- if first and blobs.prefixes:
843
- yield from (
844
- item.removeprefix(path)
845
- for item in blobs.prefixes
846
- )
847
837
 
848
838
  def release_connection(self):
849
839
  global GC_POOL
cloudfiles/paths.py CHANGED
@@ -22,7 +22,7 @@ PRECOMPUTED_SUFFIX = '|neuroglancer-precomputed:'
22
22
 
23
23
  ALIAS_FILE = os.path.join(CLOUD_FILES_DIR, "aliases.json")
24
24
  OFFICIAL_ALIASES = {
25
- "nokura": "s3://https://nokura.pni.princeton.edu/",
25
+ "nokura": "s3://https://c10s.pni.princeton.edu/",
26
26
  "matrix": "s3://https://s3-hpcrc.rc.princeton.edu/",
27
27
  "tigerdata": "s3://https://td.princeton.edu/",
28
28
  }
@@ -1 +0,0 @@
1
- {"git_version": "9e3fa7f", "is_release": true}