rclone-api 1.1.70__tar.gz → 1.1.72__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.1.70 → rclone_api-1.1.72}/PKG-INFO +1 -1
- {rclone_api-1.1.70 → rclone_api-1.1.72}/pyproject.toml +1 -1
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/mount.py +7 -6
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api.egg-info/PKG-INFO +1 -1
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.aiderignore +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.github/workflows/lint.yml +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.github/workflows/push_macos.yml +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.github/workflows/push_ubuntu.yml +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.github/workflows/push_win.yml +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.gitignore +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.pylintrc +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.vscode/launch.json +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.vscode/settings.json +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/.vscode/tasks.json +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/LICENSE +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/MANIFEST.in +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/README.md +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/clean +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/install +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/lint +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/requirements.testing.txt +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/setup.cfg +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/setup.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/__init__.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/assets/example.txt +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/cli.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/cmd/copy_large_s3.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/cmd/list_files.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/completed_process.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/config.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/convert.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/deprecated.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/diff.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/dir.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/dir_listing.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/exec.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/experimental/flags.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/experimental/flags_base.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/file.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/filelist.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/group_files.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/process.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/profile/mount_copy_bytes.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/rclone.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/remote.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/rpath.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/s3/api.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/s3/basic_ops.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/s3/chunk_file.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/s3/chunk_types.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/s3/create.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/s3/types.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/s3/upload_file_multipart.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/scan_missing_folders.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/types.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/util.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api/walk.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api.egg-info/SOURCES.txt +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api.egg-info/dependency_links.txt +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api.egg-info/entry_points.txt +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api.egg-info/requires.txt +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/src/rclone_api.egg-info/top_level.txt +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/test +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/archive/test_paramiko.py.disabled +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_cmd_list_files.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_copy.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_copy_bytes.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_copy_file_resumable_s3.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_copy_files.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_diff.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_group_files.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_is_synced.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_ls.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_mount.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_mount_s3.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_obscure.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_rclone_config.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_remote_control.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_remotes.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_s3.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_scan_missing_folders.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_size_files.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_size_suffix.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tests/test_walk.py +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/tox.ini +0 -0
- {rclone_api-1.1.70 → rclone_api-1.1.72}/upload_package.sh +0 -0
|
@@ -313,14 +313,15 @@ class MultiMountFileChunker:
|
|
|
313
313
|
print(f"Fetching chunk {offset} - {offset + size} from {self.filename}")
|
|
314
314
|
try:
|
|
315
315
|
try:
|
|
316
|
-
assert offset % self.chunk_size.as_int() == 0
|
|
317
|
-
assert size <= self.chunk_size.as_int()
|
|
318
|
-
assert size > 0
|
|
319
|
-
assert offset >= 0
|
|
316
|
+
assert offset % self.chunk_size.as_int() == 0, f"Invalid offset: {offset}"
|
|
317
|
+
assert size <= self.chunk_size.as_int(), f"Invalid size: {size}"
|
|
318
|
+
assert size > 0, f"Invalid size: {size}"
|
|
319
|
+
assert offset >= 0, f"Invalid offset: {offset}"
|
|
320
320
|
except AssertionError as e:
|
|
321
321
|
warnings.warn(f"Invalid chunk request: {e}")
|
|
322
322
|
return ValueError(e)
|
|
323
323
|
|
|
324
|
+
print("Collecting chunks")
|
|
324
325
|
chunks: list[tuple[int, int]] = []
|
|
325
326
|
start = offset
|
|
326
327
|
end = offset + size
|
|
@@ -339,10 +340,10 @@ class MultiMountFileChunker:
|
|
|
339
340
|
path = mount.mount_path / self.filename
|
|
340
341
|
print(f"Fetching chunk {start} - {start + chunk_size} from {path}")
|
|
341
342
|
|
|
342
|
-
def task(start=start, size=
|
|
343
|
+
def task(start=start, size=chunk_size, path=path) -> bytes | Exception:
|
|
343
344
|
try:
|
|
344
345
|
print(
|
|
345
|
-
f"Fetching chunk {start} - {start +
|
|
346
|
+
f"Fetching chunk {start} - {start + size} from {path}"
|
|
346
347
|
)
|
|
347
348
|
with path.open("rb") as f:
|
|
348
349
|
f.seek(offset)
|
|
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
|