cloud-files 4.24.0__py3-none-any.whl → 4.24.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: 4.24.0
3
+ Version: 4.24.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
@@ -5,7 +5,7 @@ cloudfiles/compression.py,sha256=pqYdpu5vfFv-094BpfZ2pgRjVu7ESM9pAZC09P6E8bY,615
5
5
  cloudfiles/connectionpools.py,sha256=aL8RiSjRepECfgAFmJcz80aJFKbou7hsbuEgugDKwB8,4814
6
6
  cloudfiles/exceptions.py,sha256=H2IcMlZoy2Bsn-6wCPwyLDjg66LZCyxtcf3s_p21FDw,770
7
7
  cloudfiles/gcs.py,sha256=_njJ7TpqwrHCjPHRGkBN5alCrCWKM2m9qdy5DhxMZ7U,3718
8
- cloudfiles/interfaces.py,sha256=wwOKP6PL2Yp8W1GuM7u70t0rbzNS4OdHk8Ey5NrlOkY,34497
8
+ cloudfiles/interfaces.py,sha256=JiuCOEeFMsA7c-CIdXoxpv49bV9DFjol_8nLHKAfga0,34646
9
9
  cloudfiles/lib.py,sha256=fEqL5APu_WQhl2yxqQbwE7msHdu7U8pstAJw6LgoKO0,5142
10
10
  cloudfiles/paths.py,sha256=tqR9XnRdAKopTJqSM6V5xrMo1xfmBdl9b5DpBLZnoB0,9998
11
11
  cloudfiles/resumable_tools.py,sha256=pK-VcoPjQ2BjGjvlvH4dDCBf6lNsqHG-weiBgxVFbzA,5838
@@ -16,11 +16,11 @@ cloudfiles/typing.py,sha256=f3ZYkNfN9poxhGu5j-P0KCxjCCqSn9HAg5KiIPkjnCg,416
16
16
  cloudfiles_cli/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
17
17
  cloudfiles_cli/__init__.py,sha256=Wftt3R3F21QsHtWqx49ODuqT9zcSr0em7wk48kcH0WM,29
18
18
  cloudfiles_cli/cloudfiles_cli.py,sha256=eETIOK4QyztQcpA4ZRny21SobLtcrPDlzZ_JaKBmmmA,28449
19
- cloud_files-4.24.0.dist-info/AUTHORS,sha256=7E2vC894bbLPO_kvUuEB2LFZZbIxZn23HabxH7x0Hgo,266
20
- cloud_files-4.24.0.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
21
- cloud_files-4.24.0.dist-info/METADATA,sha256=JzaFWNkwsRUogTGe-39MHZYzeqNSeNBi-4T60NxqwEM,26804
22
- cloud_files-4.24.0.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
23
- cloud_files-4.24.0.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
24
- cloud_files-4.24.0.dist-info/pbr.json,sha256=MlFy2rGgz2so8DuNxPU9Y9Q8-boQ1F966ILGICd5n1M,46
25
- cloud_files-4.24.0.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
26
- cloud_files-4.24.0.dist-info/RECORD,,
19
+ cloud_files-4.24.2.dist-info/AUTHORS,sha256=7E2vC894bbLPO_kvUuEB2LFZZbIxZn23HabxH7x0Hgo,266
20
+ cloud_files-4.24.2.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
21
+ cloud_files-4.24.2.dist-info/METADATA,sha256=q4prPh_K-kLm9QJ5etEy9EL4kSKCmkmvSfe1Rn3nF_o,26804
22
+ cloud_files-4.24.2.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
23
+ cloud_files-4.24.2.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
24
+ cloud_files-4.24.2.dist-info/pbr.json,sha256=TurbdioiITNfj7yFs23q9tPXWIzoIoirwMVmpG2oknM,46
25
+ cloud_files-4.24.2.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
26
+ cloud_files-4.24.2.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"git_version": "84826ee", "is_release": true}
cloudfiles/interfaces.py CHANGED
@@ -745,9 +745,13 @@ class HttpInterface(StorageInterface):
745
745
  @retry
746
746
  def head(self, file_path):
747
747
  key = self.get_path_to_file(file_path)
748
- resp = self.session.head(key)
749
- resp.raise_for_status()
750
- return resp.headers
748
+ with self.session.head(key) as resp:
749
+ resp.raise_for_status()
750
+ return resp.headers
751
+
752
+ def size(self, file_path):
753
+ headers = self.head(file_path)
754
+ return int(headers["Content-Length"])
751
755
 
752
756
  @retry
753
757
  def get_file(self, file_path, start=None, end=None, part_size=None):
@@ -762,6 +766,7 @@ class HttpInterface(StorageInterface):
762
766
  resp = self.session.get(key)
763
767
  if resp.status_code in (404, 403):
764
768
  return (None, None, None, None)
769
+ resp.close()
765
770
  resp.raise_for_status()
766
771
 
767
772
  # Don't check MD5 for http because the etag can come in many
@@ -779,9 +784,8 @@ class HttpInterface(StorageInterface):
779
784
  @retry
780
785
  def exists(self, file_path):
781
786
  key = self.get_path_to_file(file_path)
782
- resp = self.session.get(key, stream=True)
783
- resp.close()
784
- return resp.ok
787
+ with self.session.get(key, stream=True) as resp:
788
+ return resp.ok
785
789
 
786
790
  def files_exist(self, file_paths):
787
791
  return {path: self.exists(path) for path in file_paths}
@@ -804,6 +808,7 @@ class HttpInterface(StorageInterface):
804
808
  params={ "prefix": prefix, "pageToken": token },
805
809
  )
806
810
  results.raise_for_status()
811
+ results.close()
807
812
  return results.json()
808
813
 
809
814
  token = None
@@ -1 +0,0 @@
1
- {"git_version": "7d8183c", "is_release": true}