rclone-api 1.0.5__py2.py3-none-any.whl → 1.0.7__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/dir.py CHANGED
@@ -1,4 +1,4 @@
1
- from rclone_api.file import File
1
+ from rclone_api.dir_listing import DirListing
2
2
  from rclone_api.rpath import RPath
3
3
 
4
4
 
@@ -8,20 +8,10 @@ class Dir:
8
8
  def __init__(self, path: RPath) -> None:
9
9
  self.path = path
10
10
 
11
- def ls(self) -> tuple[list["Dir"], list[File]]:
11
+ def ls(self) -> DirListing:
12
12
  """List files and directories in the given path."""
13
- cmd = ["lsjson", "--files-only", "--dirs-only", "--json", str(self.path)]
14
13
  assert self.path.rclone is not None
15
- cp = self.path.rclone._run(cmd)
16
- text = cp.stdout
17
- tmp: list[RPath] = RPath.from_json_str(text)
18
- for t in tmp:
19
- t.set_rclone(self.path.rclone)
20
- # dirs = [o for o in out if o.is_dir]
21
- # files = [o for o in out if not o.is_dir]
22
- dirs = [Dir(p) for p in tmp if p.is_dir]
23
- files = [File(p) for p in tmp if not p.is_dir]
24
- return dirs, files
14
+ return self.path.rclone.ls(self.path.path)
25
15
 
26
16
  def __str__(self) -> str:
27
17
  return str(self.path)
rclone_api/dir_listing.py CHANGED
@@ -1,12 +1,14 @@
1
- from dataclasses import dataclass
1
+ # from rclone_api.dir import Dir
2
+ # from rclone_api.file import File
3
+ from rclone_api.rpath import RPath
2
4
 
3
- from rclone_api.dir import Dir
4
- from rclone_api.file import File
5
5
 
6
-
7
- @dataclass
8
6
  class DirListing:
9
7
  """Remote file dataclass."""
10
8
 
11
- dirs: list[Dir]
12
- files: list[File]
9
+ def __init__(self, dirs_and_files: list[RPath]) -> None:
10
+ from rclone_api.dir import Dir
11
+ from rclone_api.file import File
12
+
13
+ self.dirs: list[Dir] = [Dir(d) for d in dirs_and_files if d.is_dir]
14
+ self.files: list[File] = [File(f) for f in dirs_and_files if not f.is_dir]
rclone_api/rclone.py CHANGED
@@ -5,9 +5,7 @@ Unit test file.
5
5
  import subprocess
6
6
  from pathlib import Path
7
7
 
8
- from rclone_api.dir import Dir
9
8
  from rclone_api.dir_listing import DirListing
10
- from rclone_api.file import File
11
9
  from rclone_api.remote import Remote
12
10
  from rclone_api.rpath import RPath
13
11
  from rclone_api.types import Config, RcloneExec
@@ -46,9 +44,7 @@ class Rclone:
46
44
  paths: list[RPath] = RPath.from_json_str(text)
47
45
  for o in paths:
48
46
  o.set_rclone(self)
49
- dirs: list[Dir] = [Dir(o) for o in paths if o.is_dir]
50
- files: list[File] = [File(o) for o in paths if not o.is_dir]
51
- return DirListing(dirs=dirs, files=files)
47
+ return DirListing(paths)
52
48
 
53
49
  def listremotes(self) -> list[Remote]:
54
50
  cmd = ["listremotes"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  Maintainer: Zachary Vorhies
@@ -1,17 +1,17 @@
1
1
  rclone_api/__init__.py,sha256=YH7KQaPwUiJWJiRf0NRKD7XHhMXsxWdXDjt9WLSwdjA,265
2
2
  rclone_api/cli.py,sha256=dibfAZIh0kXWsBbfp3onKLjyZXo54mTzDjUdzJlDlWo,231
3
3
  rclone_api/config.py,sha256=UujjDNcpwgipgdyFPMhC3zikvlsrurUvvZiwXm5NlPg,471
4
- rclone_api/dir.py,sha256=H83MhwabdxjBiT_3IHvAgo9taeXq6ZhOKIrpFOZwHnY,896
5
- rclone_api/dir_listing.py,sha256=N2tEcAx721r1HlV0Cax-sutkLJMW4AAofZMVA-Z_aQQ,206
4
+ rclone_api/dir.py,sha256=gzQ9tvnvtddVWN8GmumoAasP3LtMFh20CVyaMH-HxJk,447
5
+ rclone_api/dir_listing.py,sha256=NWleKHCCRW7_eh9JfRwE6r3QbjmiHD5ZEGQcd2vm4uY,458
6
6
  rclone_api/file.py,sha256=409neYPfCUKQX2w7Uw7_D0wR2PtH42srNe9u_nnOLxM,925
7
- rclone_api/rclone.py,sha256=J7pFhe4mHaN415yFP2k_9jr9UnrEiq3lDaKhefepVfA,2053
7
+ rclone_api/rclone.py,sha256=Q3xwC8m47gBVULWSn2XttIBDl33DtCBopvxcOG5LeEA,1837
8
8
  rclone_api/remote.py,sha256=RSD-X2jCnm_hq7K6ovJ_0ugM1OpI0vpECIHHEz16-Fs,173
9
9
  rclone_api/rpath.py,sha256=_k59z-O75hAhpPyUSH4glPEoiYtIS3RUQb7ltU9Ianw,2009
10
10
  rclone_api/types.py,sha256=Yp15HrjwZonSQhE323R0WP7fA4NWqKjAfM7z3OwHpWI,518
11
11
  rclone_api/util.py,sha256=EXnijLLdFHqwoZvHrZdqeM8r6T7ad9-pN7qBN1b0I_g,1465
12
12
  rclone_api/assets/example.txt,sha256=lTBovRjiz0_TgtAtbA1C5hNi2ffbqnNPqkKg6UiKCT8,54
13
- rclone_api-1.0.5.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
14
- rclone_api-1.0.5.dist-info/METADATA,sha256=hq4p_iOF7VcpnDFFBcQU1G_ANEn4Ui0ei0RAjyTwCLQ,1244
15
- rclone_api-1.0.5.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
16
- rclone_api-1.0.5.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
17
- rclone_api-1.0.5.dist-info/RECORD,,
13
+ rclone_api-1.0.7.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
14
+ rclone_api-1.0.7.dist-info/METADATA,sha256=gRqNUEJTfkOc25YPpehD9M9ntNx22hai32FXDVib6fU,1244
15
+ rclone_api-1.0.7.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
16
+ rclone_api-1.0.7.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
17
+ rclone_api-1.0.7.dist-info/RECORD,,