rclone-api 1.1.79__tar.gz → 1.1.81__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.79 → rclone_api-1.1.81}/PKG-INFO +1 -1
- {rclone_api-1.1.79 → rclone_api-1.1.81}/pyproject.toml +1 -1
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/mount.py +10 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/rclone.py +1 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api.egg-info/PKG-INFO +1 -1
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.aiderignore +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.github/workflows/lint.yml +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.github/workflows/push_macos.yml +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.github/workflows/push_ubuntu.yml +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.github/workflows/push_win.yml +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.gitignore +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.pylintrc +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.vscode/launch.json +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.vscode/settings.json +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/.vscode/tasks.json +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/LICENSE +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/MANIFEST.in +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/README.md +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/clean +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/install +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/lint +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/requirements.testing.txt +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/setup.cfg +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/setup.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/__init__.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/assets/example.txt +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/cli.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/cmd/copy_large_s3.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/cmd/list_files.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/completed_process.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/config.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/convert.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/deprecated.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/diff.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/dir.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/dir_listing.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/exec.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/experimental/flags.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/experimental/flags_base.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/file.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/filelist.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/group_files.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/process.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/profile/mount_copy_bytes.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/remote.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/rpath.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/s3/api.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/s3/basic_ops.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/s3/chunk_file.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/s3/chunk_types.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/s3/create.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/s3/types.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/s3/upload_file_multipart.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/scan_missing_folders.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/types.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/util.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api/walk.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api.egg-info/SOURCES.txt +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api.egg-info/dependency_links.txt +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api.egg-info/entry_points.txt +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api.egg-info/requires.txt +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/src/rclone_api.egg-info/top_level.txt +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/test +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/archive/test_paramiko.py.disabled +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_cmd_list_files.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_copy.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_copy_bytes.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_copy_file_resumable_s3.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_copy_files.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_diff.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_group_files.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_is_synced.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_ls.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_mount.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_mount_s3.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_obscure.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_rclone_config.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_remote_control.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_remotes.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_s3.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_scan_missing_folders.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_size_files.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_size_suffix.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tests/test_walk.py +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/tox.ini +0 -0
- {rclone_api-1.1.79 → rclone_api-1.1.81}/upload_package.sh +0 -0
|
@@ -294,7 +294,10 @@ class MultiMountFileChunker:
|
|
|
294
294
|
chunk_size: SizeSuffix,
|
|
295
295
|
mounts: list[Mount],
|
|
296
296
|
executor: ThreadPoolExecutor,
|
|
297
|
+
verbose: bool | None,
|
|
297
298
|
) -> None:
|
|
299
|
+
from rclone_api.util import get_verbose
|
|
300
|
+
|
|
298
301
|
self.filename = filename
|
|
299
302
|
self.chunk_size = chunk_size
|
|
300
303
|
self.executor = executor
|
|
@@ -302,6 +305,7 @@ class MultiMountFileChunker:
|
|
|
302
305
|
self.mounts_availabe: list[Mount] = mounts
|
|
303
306
|
self.semaphore = Semaphore(len(mounts))
|
|
304
307
|
self.lock = Lock()
|
|
308
|
+
self.verbose = get_verbose(verbose)
|
|
305
309
|
|
|
306
310
|
def close(self) -> None:
|
|
307
311
|
self.executor.shutdown(wait=False, cancel_futures=True)
|
|
@@ -310,6 +314,8 @@ class MultiMountFileChunker:
|
|
|
310
314
|
executor.submit(lambda: mount.close())
|
|
311
315
|
|
|
312
316
|
def fetch(self, offset: int, size: int) -> bytes | Exception:
|
|
317
|
+
if self.verbose:
|
|
318
|
+
print(f"Fetching data range: offset={offset}, size={size}")
|
|
313
319
|
try:
|
|
314
320
|
try:
|
|
315
321
|
assert (
|
|
@@ -341,6 +347,10 @@ class MultiMountFileChunker:
|
|
|
341
347
|
def task(
|
|
342
348
|
offset=start, size=chunk_size, path=path, mount=mount
|
|
343
349
|
) -> bytes | Exception:
|
|
350
|
+
if self.verbose:
|
|
351
|
+
print(
|
|
352
|
+
f"Fetching chunk: offset={offset}, size={size}, path={path}"
|
|
353
|
+
)
|
|
344
354
|
try:
|
|
345
355
|
with path.open("rb") as f:
|
|
346
356
|
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
|