cloud-files 4.28.1__py3-none-any.whl → 4.30.0__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: 4.28.1
3
+ Version: 4.30.0
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,12 +1,12 @@
1
1
  cloudfiles/__init__.py,sha256=pLB4CcV2l3Jgv_ni1520Np1pfzFj8Cpr87vNxFT3rNI,493
2
- cloudfiles/cloudfiles.py,sha256=CPt0GBb_udN4MoE65g_-lh_N__INyWaaBUXIdRtv9sg,49046
2
+ cloudfiles/cloudfiles.py,sha256=ACKkVmJDaTkXslwLBmU9WXQttxBC9iPI5Qb3t2E3dhs,49201
3
3
  cloudfiles/compression.py,sha256=pqYdpu5vfFv-094BpfZ2pgRjVu7ESM9pAZC09P6E8bY,6150
4
4
  cloudfiles/connectionpools.py,sha256=aL8RiSjRepECfgAFmJcz80aJFKbou7hsbuEgugDKwB8,4814
5
5
  cloudfiles/exceptions.py,sha256=H2IcMlZoy2Bsn-6wCPwyLDjg66LZCyxtcf3s_p21FDw,770
6
6
  cloudfiles/gcs.py,sha256=_njJ7TpqwrHCjPHRGkBN5alCrCWKM2m9qdy5DhxMZ7U,3718
7
7
  cloudfiles/interfaces.py,sha256=lD5hUNTJDkxSnIVRG6my5exEDN72Cqt3VwPfHmYaNDo,37074
8
8
  cloudfiles/lib.py,sha256=YOoaEkKtkXc9FdpNnC4FbZJVG1ujbyoxN07WKdUOJcs,5200
9
- cloudfiles/paths.py,sha256=RnZDDYGUKD6KBFYERgg46WQU8AO-aKlV9klfGcWvOQc,11399
9
+ cloudfiles/paths.py,sha256=VFgqrOqI7lTZ2EE7Ktg6I343TVXYEhn8GHTfJZZ9giE,11435
10
10
  cloudfiles/resumable_tools.py,sha256=NyuSoGh1SaP5akrHCpd9kgy2-JruEWrHW9lvJxV7jpE,6711
11
11
  cloudfiles/scheduler.py,sha256=DqDANmOpB3NdzFgJDNMMibRIkCrXQqIh2XGL8GWoc9c,3668
12
12
  cloudfiles/secrets.py,sha256=791b5a8nWSBYtlleGzKeoYIR5jl-FI1bw6INRM4Wy-0,5295
@@ -15,11 +15,11 @@ cloudfiles/typing.py,sha256=f3ZYkNfN9poxhGu5j-P0KCxjCCqSn9HAg5KiIPkjnCg,416
15
15
  cloudfiles_cli/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
16
16
  cloudfiles_cli/__init__.py,sha256=Wftt3R3F21QsHtWqx49ODuqT9zcSr0em7wk48kcH0WM,29
17
17
  cloudfiles_cli/cloudfiles_cli.py,sha256=HGlX8oyIL7XASl57KXMlVQunF7pA_MVbMq-lpPA90LY,33911
18
- cloud_files-4.28.1.dist-info/AUTHORS,sha256=BFVmobgAhaVFI5fqbuqAY5XmBQxe09ZZAsAOTy87hKQ,318
19
- cloud_files-4.28.1.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
20
- cloud_files-4.28.1.dist-info/METADATA,sha256=NM8aTPsA4niMc-iap4I_cmHhHqSfnbVZyRN5OkwtelM,27046
21
- cloud_files-4.28.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
22
- cloud_files-4.28.1.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
23
- cloud_files-4.28.1.dist-info/pbr.json,sha256=hcBlFwDHXMgyi7h2PooxB-oD7QbU5uvcT_cm3gUUTxY,46
24
- cloud_files-4.28.1.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
25
- cloud_files-4.28.1.dist-info/RECORD,,
18
+ cloud_files-4.30.0.dist-info/AUTHORS,sha256=BFVmobgAhaVFI5fqbuqAY5XmBQxe09ZZAsAOTy87hKQ,318
19
+ cloud_files-4.30.0.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
20
+ cloud_files-4.30.0.dist-info/METADATA,sha256=pAIZvxckWOicHfuirouDu38YdYpc7DVXHjtB0eQuGfI,27046
21
+ cloud_files-4.30.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
22
+ cloud_files-4.30.0.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
23
+ cloud_files-4.30.0.dist-info/pbr.json,sha256=RHRdi2cnq2X208iWgmNZGuQwRmK00SVnctvad6UYBn8,46
24
+ cloud_files-4.30.0.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
25
+ cloud_files-4.30.0.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"git_version": "97a23a5", "is_release": true}
cloudfiles/cloudfiles.py CHANGED
@@ -242,6 +242,8 @@ class CloudFiles:
242
242
  if use_https:
243
243
  cloudpath = paths.to_https_protocol(cloudpath)
244
244
 
245
+ cloudpath = paths.normalize(cloudpath)
246
+
245
247
  self.cloudpath = cloudpath
246
248
  self.progress = progress
247
249
  self.secrets = secrets
@@ -837,8 +839,10 @@ class CloudFiles:
837
839
 
838
840
  def size(
839
841
  self, paths:GetPathType,
840
- total:Optional[int] = None, progress:Optional[bool] = None
841
- ) -> Union[Dict[str,int],List[Dict[str,int]]]:
842
+ total:Optional[int] = None,
843
+ progress:Optional[bool] = None,
844
+ return_sum:bool = False,
845
+ ) -> Union[Dict[str,int],List[Dict[str,int]],int]:
842
846
  """
843
847
  Get the size in bytes of one or more files in its stored state.
844
848
  """
@@ -859,6 +863,9 @@ class CloudFiles:
859
863
  green=self.green,
860
864
  )
861
865
 
866
+ if return_sum:
867
+ return sum(( sz for sz in results.values() ))
868
+
862
869
  if return_multiple:
863
870
  return results
864
871
  return first(results.values())
cloudfiles/paths.py CHANGED
@@ -159,6 +159,7 @@ for alias, host in OFFICIAL_ALIASES.items():
159
159
 
160
160
  ## Other Path Library Functions
161
161
 
162
+ @lru_cache(maxsize=10, typed=False)
162
163
  def normalize(path):
163
164
  fmt, proto, endpoint, cloudpath, alias = extract_format_protocol(
164
165
  path, allow_defaults=False
@@ -1 +0,0 @@
1
- {"git_version": "d352eec", "is_release": true}