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