rclone-api 1.0.64__tar.gz → 1.0.66__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {rclone_api-1.0.64 → rclone_api-1.0.66}/PKG-INFO +1 -1
- {rclone_api-1.0.64 → rclone_api-1.0.66}/pyproject.toml +1 -1
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/rclone.py +16 -1
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api.egg-info/PKG-INFO +1 -1
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.aiderignore +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.github/workflows/lint.yml +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.github/workflows/push_macos.yml +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.github/workflows/push_ubuntu.yml +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.github/workflows/push_win.yml +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.gitignore +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.pylintrc +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.vscode/launch.json +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.vscode/settings.json +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/.vscode/tasks.json +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/LICENSE +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/MANIFEST.in +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/README.md +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/clean +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/install +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/lint +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/requirements.testing.txt +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/setup.cfg +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/setup.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/__init__.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/assets/example.txt +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/cli.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/cmd/list_files.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/completed_process.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/config.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/convert.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/deprecated.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/diff.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/dir.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/dir_listing.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/exec.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/file.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/filelist.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/group_files.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/process.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/remote.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/rpath.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/util.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api/walk.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api.egg-info/SOURCES.txt +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api.egg-info/dependency_links.txt +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api.egg-info/entry_points.txt +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api.egg-info/requires.txt +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/src/rclone_api.egg-info/top_level.txt +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/test +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_cmd_list_files.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_copy.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_copy_files.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_diff.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_group_files.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_is_synced.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_ls.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_mount.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_mount_s3.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_mount_webdav.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_obscure.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_remote_control.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_remotes.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_serve_webdav.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tests/test_walk.py +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/tox.ini +0 -0
- {rclone_api-1.0.64 → rclone_api-1.0.66}/upload_package.sh +0 -0
@@ -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 =
|
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:
|
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
|