rclone-api 1.0.64__py2.py3-none-any.whl → 1.0.66__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 CHANGED
@@ -56,6 +56,12 @@ class DiffOption(Enum):
56
56
  ERROR = "error"
57
57
 
58
58
 
59
+ class ListingOption(Enum):
60
+ DIRS_ONLY = "dirs-only"
61
+ FILES_ONLY = "files-only"
62
+ ALL = "all"
63
+
64
+
59
65
  class Rclone:
60
66
  def __init__(
61
67
  self, rclone_conf: Path | Config, rclone_exe: Path | None = None
@@ -133,6 +139,7 @@ class Rclone:
133
139
  max_depth: int | None = None,
134
140
  glob: str | None = None,
135
141
  reverse: bool = False,
142
+ listing_option: ListingOption = ListingOption.ALL,
136
143
  ) -> DirListing:
137
144
  """List files in the given path.
138
145
 
@@ -156,6 +163,9 @@ class Rclone:
156
163
  if max_depth > 0:
157
164
  cmd.append("--max-depth")
158
165
  cmd.append(str(max_depth))
166
+ if listing_option != ListingOption.ALL:
167
+ cmd.append(f"--{listing_option.value}")
168
+
159
169
  cmd.append(str(path))
160
170
  remote = path.remote if isinstance(path, Dir) else path
161
171
  assert isinstance(remote, Remote)
@@ -201,7 +211,7 @@ class Rclone:
201
211
  ) = None, # e. g. "1GB" - see rclone documentation: https://rclone.org/commands/rclone_check/
202
212
  diff_option: DiffOption = DiffOption.COMBINED,
203
213
  fast_list: bool = True,
204
- size_only: bool = False,
214
+ size_only: bool | None = None,
205
215
  other_args: list[str] | None = None,
206
216
  ) -> Generator[DiffItem, None, None]:
207
217
  """Be extra careful with the src and dst values. If you are off by one
@@ -218,6 +228,11 @@ class Rclone:
218
228
  f"--{diff_option.value}",
219
229
  "-",
220
230
  ]
231
+ if size_only is None:
232
+ size_only = diff_option in [
233
+ DiffOption.MISSING_ON_DST,
234
+ DiffOption.MISSING_ON_SRC,
235
+ ]
221
236
  if size_only:
222
237
  cmd += ["--size-only"]
223
238
  if fast_list:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.0.64
3
+ Version: 1.0.66
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  Maintainer: Zachary Vorhies
@@ -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=XHlsmFRBFPNa9KzUPMQQgEJ9iT7FEByzdFX_x-YHK3E,27660
15
+ rclone_api/rclone.py,sha256=_LXLTi8CF9vWf00j-W58mNZI7y8eotsDEMaP4qMIyos,28100
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.64.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
23
- rclone_api-1.0.64.dist-info/METADATA,sha256=hqE26Ln9Dh4lFN8jtb0hSeYupA242HysZxfEIcNRWMg,4489
24
- rclone_api-1.0.64.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
25
- rclone_api-1.0.64.dist-info/entry_points.txt,sha256=XUoTX3m7CWxdj2VAKhEuO0NMOfX2qf-OcEDFwdyk9ZE,72
26
- rclone_api-1.0.64.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
27
- rclone_api-1.0.64.dist-info/RECORD,,
22
+ rclone_api-1.0.66.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
23
+ rclone_api-1.0.66.dist-info/METADATA,sha256=R66pzAECdBoaLOoSHUnkg3T1gUhRzwyyGMkJgAZc86s,4489
24
+ rclone_api-1.0.66.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
25
+ rclone_api-1.0.66.dist-info/entry_points.txt,sha256=XUoTX3m7CWxdj2VAKhEuO0NMOfX2qf-OcEDFwdyk9ZE,72
26
+ rclone_api-1.0.66.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
27
+ rclone_api-1.0.66.dist-info/RECORD,,