rclone-api 1.0.60__py2.py3-none-any.whl → 1.0.61__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- rclone_api/rclone.py +28 -8
- {rclone_api-1.0.60.dist-info → rclone_api-1.0.61.dist-info}/METADATA +1 -1
- {rclone_api-1.0.60.dist-info → rclone_api-1.0.61.dist-info}/RECORD +7 -7
- {rclone_api-1.0.60.dist-info → rclone_api-1.0.61.dist-info}/LICENSE +0 -0
- {rclone_api-1.0.60.dist-info → rclone_api-1.0.61.dist-info}/WHEEL +0 -0
- {rclone_api-1.0.60.dist-info → rclone_api-1.0.61.dist-info}/entry_points.txt +0 -0
- {rclone_api-1.0.60.dist-info → rclone_api-1.0.61.dist-info}/top_level.txt +0 -0
rclone_api/rclone.py
CHANGED
@@ -299,7 +299,7 @@ class Rclone:
|
|
299
299
|
self,
|
300
300
|
src: str,
|
301
301
|
dst: str,
|
302
|
-
files: list[str],
|
302
|
+
files: list[str] | Path,
|
303
303
|
check: bool | None = None,
|
304
304
|
verbose: bool | None = None,
|
305
305
|
checkers: int | None = None,
|
@@ -322,7 +322,11 @@ class Rclone:
|
|
322
322
|
checkers = checkers or 1000
|
323
323
|
transfers = transfers or 32
|
324
324
|
verbose = get_verbose(verbose)
|
325
|
-
payload: list[str] =
|
325
|
+
payload: list[str] = (
|
326
|
+
files
|
327
|
+
if isinstance(files, list)
|
328
|
+
else [f.strip() for f in files.read_text().splitlines() if f.strip()]
|
329
|
+
)
|
326
330
|
if len(payload) == 0:
|
327
331
|
return []
|
328
332
|
|
@@ -341,10 +345,26 @@ class Rclone:
|
|
341
345
|
with ThreadPoolExecutor(max_workers=max_partition_workers) as executor:
|
342
346
|
for common_prefix, files in datalists.items():
|
343
347
|
|
344
|
-
def _task(
|
348
|
+
def _task(
|
349
|
+
files: list[str] | Path = files,
|
350
|
+
) -> subprocess.CompletedProcess:
|
345
351
|
with TemporaryDirectory() as tmpdir:
|
346
|
-
|
347
|
-
|
352
|
+
filelist: list[str] = []
|
353
|
+
filepath: Path
|
354
|
+
if isinstance(files, list):
|
355
|
+
include_files_txt = Path(tmpdir) / "include_files.txt"
|
356
|
+
include_files_txt.write_text(
|
357
|
+
"\n".join(files), encoding="utf-8"
|
358
|
+
)
|
359
|
+
filelist = list(files)
|
360
|
+
filepath = Path(include_files_txt)
|
361
|
+
elif isinstance(files, Path):
|
362
|
+
filelist = [
|
363
|
+
f.strip()
|
364
|
+
for f in files.read_text().splitlines()
|
365
|
+
if f.strip()
|
366
|
+
]
|
367
|
+
filepath = files
|
348
368
|
if common_prefix:
|
349
369
|
src_path = f"{src}/{common_prefix}"
|
350
370
|
dst_path = f"{dst}/{common_prefix}"
|
@@ -353,8 +373,8 @@ class Rclone:
|
|
353
373
|
dst_path = dst
|
354
374
|
|
355
375
|
if verbose:
|
356
|
-
nfiles = len(
|
357
|
-
files_fqdn = [f" {src_path}/{f}" for f in
|
376
|
+
nfiles = len(filelist)
|
377
|
+
files_fqdn = [f" {src_path}/{f}" for f in filelist]
|
358
378
|
print(f"Copying {nfiles} files:")
|
359
379
|
chunk_size = 100
|
360
380
|
for i in range(0, nfiles, chunk_size):
|
@@ -370,7 +390,7 @@ class Rclone:
|
|
370
390
|
src_path,
|
371
391
|
dst_path,
|
372
392
|
"--files-from",
|
373
|
-
str(
|
393
|
+
str(filepath),
|
374
394
|
"--checkers",
|
375
395
|
str(checkers),
|
376
396
|
"--transfers",
|
@@ -12,16 +12,16 @@ rclone_api/file.py,sha256=YtR5Y6c0YfXTS-sReOy2UgiSnafcAeO6b2hnbojBQD4,1423
|
|
12
12
|
rclone_api/filelist.py,sha256=xbiusvNgaB_b_kQOZoHMJJxn6TWGtPrWd2J042BI28o,767
|
13
13
|
rclone_api/group_files.py,sha256=kOHh6ysFDkxjldSwvW6KqmiADUC1yFCdrZRY57TvbGY,5328
|
14
14
|
rclone_api/process.py,sha256=RrMfTe0bndmJ6gBK67ioqNvCstJ8aTC8RlGX1XBLlcw,4191
|
15
|
-
rclone_api/rclone.py,sha256=
|
15
|
+
rclone_api/rclone.py,sha256=3vILv1fXDwn6F2SflJYTtSPhUDyMlMaiF4ozw2pPYuw,27224
|
16
16
|
rclone_api/remote.py,sha256=c9hlRKBCg1BFB9MCINaQIoCg10qyAkeqiS4brl8ce-8,343
|
17
17
|
rclone_api/rpath.py,sha256=8ZA_1wxWtskwcy0I8V2VbjKDmzPkiWd8Q2JQSvh-sYE,2586
|
18
18
|
rclone_api/util.py,sha256=_cvmHcJPRl2yXw4zgZiop3z-riA_8Ek6S5NDPw8cqSY,4198
|
19
19
|
rclone_api/walk.py,sha256=UaNOE3ICd8k5ouSFZvkVEH4r2GnnrD9TxfwkFcQnayo,3170
|
20
20
|
rclone_api/assets/example.txt,sha256=lTBovRjiz0_TgtAtbA1C5hNi2ffbqnNPqkKg6UiKCT8,54
|
21
21
|
rclone_api/cmd/list_files.py,sha256=x8FHODEilwKqwdiU1jdkeJbLwOqUkUQuDWPo2u_zpf0,741
|
22
|
-
rclone_api-1.0.
|
23
|
-
rclone_api-1.0.
|
24
|
-
rclone_api-1.0.
|
25
|
-
rclone_api-1.0.
|
26
|
-
rclone_api-1.0.
|
27
|
-
rclone_api-1.0.
|
22
|
+
rclone_api-1.0.61.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
|
23
|
+
rclone_api-1.0.61.dist-info/METADATA,sha256=2Gs-qN0A6rVPKRiPSOaNsUcIB9RgBFCMzt-pp-juuw0,4489
|
24
|
+
rclone_api-1.0.61.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
|
25
|
+
rclone_api-1.0.61.dist-info/entry_points.txt,sha256=XUoTX3m7CWxdj2VAKhEuO0NMOfX2qf-OcEDFwdyk9ZE,72
|
26
|
+
rclone_api-1.0.61.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
|
27
|
+
rclone_api-1.0.61.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|