cloud-files 5.7.0__tar.gz → 5.8.1__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.
- {cloud_files-5.7.0 → cloud_files-5.8.1}/ChangeLog +11 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/PKG-INFO +14 -2
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloud_files.egg-info/PKG-INFO +14 -2
- cloud_files-5.8.1/cloud_files.egg-info/pbr.json +1 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/interfaces.py +12 -22
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles_cli/cloudfiles_cli.py +14 -0
- cloud_files-5.7.0/cloud_files.egg-info/pbr.json +0 -1
- {cloud_files-5.7.0 → cloud_files-5.8.1}/.github/workflows/test-suite.yml +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/AUTHORS +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/LICENSE +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/MANIFEST.in +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/README.md +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/automated_test.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloud_files.egg-info/SOURCES.txt +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloud_files.egg-info/dependency_links.txt +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloud_files.egg-info/entry_points.txt +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloud_files.egg-info/not-zip-safe +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloud_files.egg-info/requires.txt +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloud_files.egg-info/top_level.txt +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/__init__.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/cloudfiles.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/compression.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/connectionpools.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/exceptions.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/gcs.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/lib.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/monitoring.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/paths.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/resumable_tools.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/scheduler.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/secrets.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/test.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/threaded_queue.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles/typing.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles_cli/LICENSE +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/cloudfiles_cli/__init__.py +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/requirements.txt +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/setup.cfg +0 -0
- {cloud_files-5.7.0 → cloud_files-5.8.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: cloud-files
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.8.1
|
|
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
|
|
@@ -54,6 +54,18 @@ Requires-Dist: intervaltree; extra == "monitoring"
|
|
|
54
54
|
Requires-Dist: matplotlib; extra == "monitoring"
|
|
55
55
|
Provides-Extra: apache
|
|
56
56
|
Requires-Dist: lxml; extra == "apache"
|
|
57
|
+
Dynamic: author
|
|
58
|
+
Dynamic: author-email
|
|
59
|
+
Dynamic: classifier
|
|
60
|
+
Dynamic: description
|
|
61
|
+
Dynamic: description-content-type
|
|
62
|
+
Dynamic: home-page
|
|
63
|
+
Dynamic: license
|
|
64
|
+
Dynamic: license-file
|
|
65
|
+
Dynamic: provides-extra
|
|
66
|
+
Dynamic: requires-dist
|
|
67
|
+
Dynamic: requires-python
|
|
68
|
+
Dynamic: summary
|
|
57
69
|
|
|
58
70
|
[](https://badge.fury.io/py/cloud-files) [](https://github.com/seung-lab/cloud-files/actions?query=workflow%3A%22Test+Suite%22)
|
|
59
71
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: cloud-files
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.8.1
|
|
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
|
|
@@ -54,6 +54,18 @@ Requires-Dist: intervaltree; extra == "monitoring"
|
|
|
54
54
|
Requires-Dist: matplotlib; extra == "monitoring"
|
|
55
55
|
Provides-Extra: apache
|
|
56
56
|
Requires-Dist: lxml; extra == "apache"
|
|
57
|
+
Dynamic: author
|
|
58
|
+
Dynamic: author-email
|
|
59
|
+
Dynamic: classifier
|
|
60
|
+
Dynamic: description
|
|
61
|
+
Dynamic: description-content-type
|
|
62
|
+
Dynamic: home-page
|
|
63
|
+
Dynamic: license
|
|
64
|
+
Dynamic: license-file
|
|
65
|
+
Dynamic: provides-extra
|
|
66
|
+
Dynamic: requires-dist
|
|
67
|
+
Dynamic: requires-python
|
|
68
|
+
Dynamic: summary
|
|
57
69
|
|
|
58
70
|
[](https://badge.fury.io/py/cloud-files) [](https://github.com/seung-lab/cloud-files/actions?query=workflow%3A%22Test+Suite%22)
|
|
59
71
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"git_version": "add0684", "is_release": true}
|
|
@@ -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
|
-
|
|
821
|
-
|
|
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
|
|
825
|
+
for item in page.prefixes
|
|
829
826
|
)
|
|
830
|
-
first = False
|
|
831
827
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
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
|
|
@@ -182,6 +182,19 @@ def get_mfp(path, recursive):
|
|
|
182
182
|
|
|
183
183
|
return (many, flat, prefix, suffix)
|
|
184
184
|
|
|
185
|
+
@main.command("mkdir")
|
|
186
|
+
@click.argument("paths", nargs=-1)
|
|
187
|
+
def _mkdir(paths):
|
|
188
|
+
"""
|
|
189
|
+
Create paths on the local file system.
|
|
190
|
+
"""
|
|
191
|
+
for path in paths:
|
|
192
|
+
path = normalize_path(path)
|
|
193
|
+
protocol = get_protocol(path)
|
|
194
|
+
|
|
195
|
+
if protocol == "file":
|
|
196
|
+
mkdir(path.replace("file://", "", 1))
|
|
197
|
+
|
|
185
198
|
@main.command()
|
|
186
199
|
@click.argument("source", nargs=-1)
|
|
187
200
|
@click.argument("destination", nargs=1)
|
|
@@ -588,6 +601,7 @@ def touch(
|
|
|
588
601
|
ctx, sources,
|
|
589
602
|
progress, no_sign_request,
|
|
590
603
|
):
|
|
604
|
+
"""Create file if it doesn't exist."""
|
|
591
605
|
sources = list(map(normalize_path, sources))
|
|
592
606
|
sources = [ src.replace("precomputed://", "") for src in sources ]
|
|
593
607
|
pbar = tqdm(total=len(sources), desc="Touch", disable=(not progress))
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"git_version": "cab2668", "is_release": true}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|