rclone-api 1.4.9__tar.gz → 1.4.11__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.
- {rclone_api-1.4.9 → rclone_api-1.4.11}/PKG-INFO +1 -1
- {rclone_api-1.4.9 → rclone_api-1.4.11}/pyproject.toml +1 -1
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/cmd/copy_large_s3_finish.py +0 -29
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/create.py +3 -4
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/s3_multipart_uploader_by_copy.py +1 -1
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api.egg-info/PKG-INFO +1 -1
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.aiderignore +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.github/workflows/lint.yml +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.github/workflows/push_macos.yml +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.github/workflows/push_ubuntu.yml +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.github/workflows/push_win.yml +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.gitignore +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.pylintrc +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.vscode/launch.json +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.vscode/settings.json +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/.vscode/tasks.json +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/LICENSE +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/MANIFEST.in +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/README.md +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/clean +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/install +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/lint +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/requirements.testing.txt +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/setup.cfg +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/setup.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/__init__.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/assets/example.txt +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/cli.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/cmd/analyze.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/cmd/copy_large_s3.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/cmd/list_files.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/cmd/save_to_db.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/completed_process.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/config.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/convert.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/db/__init__.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/db/db.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/db/models.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/deprecated.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/detail/copy_file_parts.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/detail/walk.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/diff.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/dir.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/dir_listing.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/exec.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/experimental/flags.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/experimental/flags_base.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/file.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/file_item.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/file_part.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/file_stream.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/filelist.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/group_files.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/http_server.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/log.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/mount.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/process.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/rclone_impl.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/remote.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/rpath.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/api.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/basic_ops.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/chunk_task.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/multipart/file_info.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/multipart/finished_piece.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/multipart/upload_info.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/multipart/upload_state.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/types.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/s3/upload_file_multipart.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/scan_missing_folders.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/types.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api/util.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api.egg-info/SOURCES.txt +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api.egg-info/dependency_links.txt +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api.egg-info/entry_points.txt +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api.egg-info/requires.txt +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/src/rclone_api.egg-info/top_level.txt +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/test +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/archive/test_paramiko.py.disabled +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_cmd_list_files.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_copy.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_copy_bytes.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_copy_file_resumable_s3.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_copy_files.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_db.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_diff.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_file_item.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_group_files.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_is_synced.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_ls.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_ls_stream_files.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_mount.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_mount_s3.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_obscure.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_rclone_config.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_read_write_text.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_remote_control.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_remotes.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_s3.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_scan_missing_folders.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_serve_http.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_size_files.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_size_suffix.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tests/test_walk.py +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/tox.ini +0 -0
- {rclone_api-1.4.9 → rclone_api-1.4.11}/upload_package.sh +0 -0
@@ -171,35 +171,6 @@ def do_finish_part(rclone: Rclone, info: InfoJson, dst: str) -> None:
|
|
171
171
|
retries=3,
|
172
172
|
)
|
173
173
|
|
174
|
-
if False:
|
175
|
-
print(finish_multipart_upload_from_keys)
|
176
|
-
print(s3_client)
|
177
|
-
print("done")
|
178
|
-
|
179
|
-
# def finish_multipart_upload_from_keys(
|
180
|
-
# s3_client: BaseClient,
|
181
|
-
# source_bucket: str,
|
182
|
-
# source_keys: list[str],
|
183
|
-
# destination_bucket: str,
|
184
|
-
# destination_key: str,
|
185
|
-
# chunk_size: int = 5 * 1024 * 1024, # 5MB default
|
186
|
-
# retries: int = 3,
|
187
|
-
# byte_ranges: list[str] | None = None,
|
188
|
-
|
189
|
-
# if False:
|
190
|
-
# finish_multipart_upload_from_keys(
|
191
|
-
# s3_client=s3_client,
|
192
|
-
# source_bucket="TODO",
|
193
|
-
# source_keys=[p.key for p in all_parts],
|
194
|
-
# destination_bucket=info.dst_bucket,
|
195
|
-
# destination_key=info.dst_key,
|
196
|
-
# chunk_size=5 * 1024 * 1024,
|
197
|
-
# retries=3,
|
198
|
-
# byte_ranges=None,
|
199
|
-
# )
|
200
|
-
|
201
|
-
# print(all_parts)
|
202
|
-
|
203
174
|
|
204
175
|
def main() -> int:
|
205
176
|
"""Main entry point."""
|
@@ -7,6 +7,7 @@ from botocore.config import Config
|
|
7
7
|
from rclone_api.s3.types import S3Credentials, S3Provider
|
8
8
|
|
9
9
|
_DEFAULT_BACKBLAZE_ENDPOINT = "https://s3.us-west-002.backblazeb2.com"
|
10
|
+
_MAX_CONNECTIONS = 500
|
10
11
|
|
11
12
|
|
12
13
|
# Create a Boto3 session and S3 client, this is back blaze specific.
|
@@ -29,6 +30,7 @@ def _create_backblaze_s3_client(creds: S3Credentials, verbose: bool) -> BaseClie
|
|
29
30
|
config=Config(
|
30
31
|
signature_version="s3v4",
|
31
32
|
region_name=region_name,
|
33
|
+
max_pool_connections=_MAX_CONNECTIONS,
|
32
34
|
# Note that BackBlase has a boko3 bug where it doesn't support the new
|
33
35
|
# checksum header, the following line was an attempt of fix it on the newest
|
34
36
|
# version of boto3, but it didn't work.
|
@@ -58,10 +60,7 @@ def _create_unknown_s3_client(creds: S3Credentials, verbose: bool) -> BaseClient
|
|
58
60
|
config=Config(
|
59
61
|
signature_version="s3v4",
|
60
62
|
region_name=creds.region_name,
|
61
|
-
|
62
|
-
# checksum header, the following line was an attempt of fix it on the newest
|
63
|
-
# version of boto3, but it didn't work.
|
64
|
-
# s3={"payload_signing_enabled": False}, # Disable checksum header
|
63
|
+
max_pool_connections=_MAX_CONNECTIONS,
|
65
64
|
),
|
66
65
|
)
|
67
66
|
|
@@ -340,7 +340,7 @@ def finish_multipart_upload_from_keys(
|
|
340
340
|
with ThreadPoolExecutor(max_workers=max_workers) as executor:
|
341
341
|
# semaphore
|
342
342
|
|
343
|
-
semaphore = Semaphore(max_workers)
|
343
|
+
semaphore = Semaphore(max_workers * 2)
|
344
344
|
for part_number, source_key in parts:
|
345
345
|
|
346
346
|
def task(
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|