rclone-api 1.0.47__py2.py3-none-any.whl → 1.0.49__py2.py3-none-any.whl

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/__init__.py CHANGED
@@ -1,3 +1,4 @@
1
+ from .completed_process import CompletedProcess
1
2
  from .config import Config
2
3
  from .diff import DiffItem, DiffType
3
4
  from .dir import Dir
@@ -22,4 +23,5 @@ __all__ = [
22
23
  "DiffItem",
23
24
  "DiffType",
24
25
  "rclone_verbose",
26
+ "CompletedProcess",
25
27
  ]
rclone_api/rclone.py CHANGED
@@ -261,7 +261,13 @@ class Rclone:
261
261
  cmd_list: list[str] = ["copyto", src, dst]
262
262
  self._run(cmd_list)
263
263
 
264
- def copy_to(self, src: File | str, dst: File | str) -> None:
264
+ def copy_to(
265
+ self,
266
+ src: File | str,
267
+ dst: File | str,
268
+ check=True,
269
+ other_args: list[str] | None = None,
270
+ ) -> None:
265
271
  """Copy multiple files from source to destination.
266
272
 
267
273
  Warning - slow.
@@ -272,9 +278,16 @@ class Rclone:
272
278
  src = str(src)
273
279
  dst = str(dst)
274
280
  cmd_list: list[str] = ["copyto", src, dst]
275
- self._run(cmd_list)
281
+ if other_args is not None:
282
+ cmd_list += other_args
283
+ self._run(cmd_list, check=check)
276
284
 
277
- def copyfiles(self, files: str | File | list[str] | list[File], check=True) -> None:
285
+ def copyfiles(
286
+ self,
287
+ files: str | File | list[str] | list[File],
288
+ check=True,
289
+ other_args: list[str] | None = None,
290
+ ) -> list[CompletedProcess]:
278
291
  """Copy multiple files from source to destination.
279
292
 
280
293
  Warning - slow.
@@ -284,10 +297,11 @@ class Rclone:
284
297
  """
285
298
  payload: list[str] = convert_to_filestr_list(files)
286
299
  if len(payload) == 0:
287
- return
300
+ return []
288
301
 
289
302
  datalists: dict[str, list[str]] = group_files(payload)
290
- out: subprocess.CompletedProcess | None = None
303
+ # out: subprocess.CompletedProcess | None = None
304
+ out: list[CompletedProcess] = []
291
305
 
292
306
  futures: list[Future] = []
293
307
 
@@ -309,19 +323,23 @@ class Rclone:
309
323
  "--transfers",
310
324
  "1000",
311
325
  ]
326
+ if other_args is not None:
327
+ cmd_list += other_args
312
328
  out = self._run(cmd_list)
313
329
  return out
314
330
 
315
331
  fut: Future = EXECUTOR.submit(_task)
316
332
  futures.append(fut)
317
333
  for fut in futures:
318
- out = fut.result()
319
- assert out is not None
320
- if out.returncode != 0:
334
+ cp: subprocess.CompletedProcess = fut.result()
335
+ assert cp is not None
336
+ out.append(CompletedProcess.from_subprocess(cp))
337
+ if cp.returncode != 0:
321
338
  if check:
322
- raise ValueError(f"Error deleting files: {out.stderr}")
339
+ raise ValueError(f"Error deleting files: {cp.stderr}")
323
340
  else:
324
- warnings.warn(f"Error deleting files: {out.stderr}")
341
+ warnings.warn(f"Error deleting files: {cp.stderr}")
342
+ return out
325
343
 
326
344
  def copy(self, src: Dir | str, dst: Dir | str) -> CompletedProcess:
327
345
  """Copy files from source to destination.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.0.47
3
+ Version: 1.0.49
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  Maintainer: Zachary Vorhies
@@ -1,4 +1,4 @@
1
- rclone_api/__init__.py,sha256=fvWhio7i71rS5JtIr3l-36F6LRHo0ddpq0VX-6P5ldY,495
1
+ rclone_api/__init__.py,sha256=qHDw2YKWpuJ_pzcpdCqGgFS5tk3_KC4M8VGqlMd3SRE,567
2
2
  rclone_api/cli.py,sha256=dibfAZIh0kXWsBbfp3onKLjyZXo54mTzDjUdzJlDlWo,231
3
3
  rclone_api/completed_process.py,sha256=Pp-hXnLgej0IGO5ee9Fmx64dGzIofbQFEUyXdFCvO54,1371
4
4
  rclone_api/config.py,sha256=tP6cU9DnCCEIRc_KP9HPur1jFLLg2QGFSxNwFm6_MVw,118
@@ -12,16 +12,16 @@ rclone_api/file.py,sha256=D02iHJW1LhfOiM_R_yPHP8_ApnDiYrkuraVcrV8-qkw,1246
12
12
  rclone_api/filelist.py,sha256=xbiusvNgaB_b_kQOZoHMJJxn6TWGtPrWd2J042BI28o,767
13
13
  rclone_api/group_files.py,sha256=HxrRUi_kFlMblrCMFyv6rO56tVMEzgU4-vVeB_2-lbc,4606
14
14
  rclone_api/process.py,sha256=RrMfTe0bndmJ6gBK67ioqNvCstJ8aTC8RlGX1XBLlcw,4191
15
- rclone_api/rclone.py,sha256=-F7tFWIOcBovdiaMgYpuTExjaY6rmI_Xo1rORXfP-h8,23280
15
+ rclone_api/rclone.py,sha256=KBT3mugMPqH1Ftz7aBeu9qwZr2lxRErgCkYNgpgI3KM,23815
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=IWNOOcPE0xdKvehzXQ9okIppGDBYWJPIfdbUME8BFVM,4015
19
19
  rclone_api/walk.py,sha256=kca0t1GAnF6FLclN01G8NG__Qe-ggodLtAbQSHyVPng,2968
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.47.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
23
- rclone_api-1.0.47.dist-info/METADATA,sha256=tEWwiE6PzwzCM50jJIAegd5dWbca2QFVhDUoDSRpxwc,4489
24
- rclone_api-1.0.47.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
25
- rclone_api-1.0.47.dist-info/entry_points.txt,sha256=XUoTX3m7CWxdj2VAKhEuO0NMOfX2qf-OcEDFwdyk9ZE,72
26
- rclone_api-1.0.47.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
27
- rclone_api-1.0.47.dist-info/RECORD,,
22
+ rclone_api-1.0.49.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
23
+ rclone_api-1.0.49.dist-info/METADATA,sha256=5KZV7DH3K6978ZqgXkqEMlde0SbF1keferoXKi7Ywcw,4489
24
+ rclone_api-1.0.49.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
25
+ rclone_api-1.0.49.dist-info/entry_points.txt,sha256=XUoTX3m7CWxdj2VAKhEuO0NMOfX2qf-OcEDFwdyk9ZE,72
26
+ rclone_api-1.0.49.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
27
+ rclone_api-1.0.49.dist-info/RECORD,,