rclone-api 1.5.56__py3-none-any.whl → 1.5.58__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/fs/filesystem.py +3 -0
- rclone_api/fs/walk_threaded.py +2 -2
- rclone_api/fs/walk_threaded_walker.py +2 -2
- {rclone_api-1.5.56.dist-info → rclone_api-1.5.58.dist-info}/METADATA +1 -1
- {rclone_api-1.5.56.dist-info → rclone_api-1.5.58.dist-info}/RECORD +9 -9
- {rclone_api-1.5.56.dist-info → rclone_api-1.5.58.dist-info}/WHEEL +0 -0
- {rclone_api-1.5.56.dist-info → rclone_api-1.5.58.dist-info}/entry_points.txt +0 -0
- {rclone_api-1.5.56.dist-info → rclone_api-1.5.58.dist-info}/licenses/LICENSE +0 -0
- {rclone_api-1.5.56.dist-info → rclone_api-1.5.58.dist-info}/top_level.txt +0 -0
rclone_api/fs/filesystem.py
CHANGED
@@ -322,6 +322,9 @@ class FSPath:
|
|
322
322
|
filenames, dirnames = self.fs.ls(self.path)
|
323
323
|
return filenames, dirnames
|
324
324
|
|
325
|
+
def with_suffix(self, suffix: str) -> "FSPath":
|
326
|
+
return FSPath(self.fs, Path(self.path).with_suffix(suffix).as_posix())
|
327
|
+
|
325
328
|
@property
|
326
329
|
def name(self) -> str:
|
327
330
|
return Path(self.path).name
|
rclone_api/fs/walk_threaded.py
CHANGED
@@ -15,13 +15,13 @@ def os_walk_threaded_begin(self: FSPath, max_backlog: int = 8) -> FSWalker:
|
|
15
15
|
### Implementation
|
16
16
|
|
17
17
|
|
18
|
-
class
|
18
|
+
class FSWalkThread:
|
19
19
|
def __init__(self, fspath: FSPath, max_backlog: int = 8):
|
20
20
|
self.fspath = fspath
|
21
21
|
self.result_queue: Queue[Optional[Tuple[FSPath, List[str], List[str]]]] = Queue(
|
22
22
|
maxsize=max_backlog
|
23
23
|
)
|
24
|
-
self.thread = Thread(target=self.worker)
|
24
|
+
self.thread = Thread(target=self.worker, daemon=True)
|
25
25
|
self.stop_event = Event()
|
26
26
|
self.start()
|
27
27
|
|
@@ -11,12 +11,12 @@ class FSWalker:
|
|
11
11
|
|
12
12
|
def __enter__(self):
|
13
13
|
from rclone_api.fs.filesystem import FSPath
|
14
|
-
from rclone_api.fs.walk_threaded import
|
14
|
+
from rclone_api.fs.walk_threaded import FSWalkThread
|
15
15
|
|
16
16
|
assert isinstance(
|
17
17
|
self.fspath, FSPath
|
18
18
|
), f"Expected FSPath, got {type(self.fspath)}"
|
19
|
-
self.walker =
|
19
|
+
self.walker = FSWalkThread(self.fspath, self.max_backlog)
|
20
20
|
return self
|
21
21
|
|
22
22
|
def __exit__(self, exc_type, exc_value, traceback):
|
@@ -40,10 +40,10 @@ rclone_api/detail/copy_file_parts_resumable.py,sha256=RoUWV2eBWEvuuTfsvrz5BhtvX3
|
|
40
40
|
rclone_api/detail/walk.py,sha256=-54NVE8EJcCstwDoaC_UtHm73R2HrZwVwQmsnv55xNU,3369
|
41
41
|
rclone_api/experimental/flags.py,sha256=qCVD--fSTmzlk9hloRLr0q9elzAOFzPsvVpKM3aB1Mk,2739
|
42
42
|
rclone_api/experimental/flags_base.py,sha256=ajU_czkTcAxXYU-SlmiCfHY7aCQGHvpCLqJ-Z8uZLk0,2102
|
43
|
-
rclone_api/fs/filesystem.py,sha256=
|
43
|
+
rclone_api/fs/filesystem.py,sha256=DmqYXWTihdo6hFmyBBhsblBz4VmgmbreoLScFtBY5Gc,11119
|
44
44
|
rclone_api/fs/walk.py,sha256=Yqn_SS25gTL0ANWSQxnAdN-ELBO1PMZfYYnyxoGafWA,875
|
45
|
-
rclone_api/fs/walk_threaded.py,sha256=
|
46
|
-
rclone_api/fs/walk_threaded_walker.py,sha256=
|
45
|
+
rclone_api/fs/walk_threaded.py,sha256=zlbooQ7WbteUK1cCjm1Yj66VpDzS8Qm3DcHBSz1Gbjk,1591
|
46
|
+
rclone_api/fs/walk_threaded_walker.py,sha256=xi0QkmmzI35NcaA08FLjGe7ox9tLZcgXtOZCT8nMuWU,718
|
47
47
|
rclone_api/s3/api.py,sha256=HpheMOGHcCc0CyNdv0zvB0S92g312urjRdssRrkdpb8,4162
|
48
48
|
rclone_api/s3/basic_ops.py,sha256=hK3366xhVEzEcjz9Gk_8lFx6MRceAk72cax6mUrr6ko,2104
|
49
49
|
rclone_api/s3/chunk_task.py,sha256=waEYe-iYQ1_BR3NCS4BrzVrK9UANvH1EcbXx2I6Z_NM,6839
|
@@ -58,9 +58,9 @@ rclone_api/s3/multipart/upload_parts_inline.py,sha256=V7syKjFyVIe4U9Ahl5XgqVTzt9
|
|
58
58
|
rclone_api/s3/multipart/upload_parts_resumable.py,sha256=6-nlMclS8jyVvMvFbQDcZOX9MY1WbCcKA_s9bwuYxnk,9793
|
59
59
|
rclone_api/s3/multipart/upload_parts_server_side_merge.py,sha256=Fp2pdrs5dONQI9LkfNolgAGj1-Z2V1SsRd0r0sreuXI,18040
|
60
60
|
rclone_api/s3/multipart/upload_state.py,sha256=f-Aq2NqtAaMUMhYitlICSNIxCKurWAl2gDEUVizLIqw,6019
|
61
|
-
rclone_api-1.5.
|
62
|
-
rclone_api-1.5.
|
63
|
-
rclone_api-1.5.
|
64
|
-
rclone_api-1.5.
|
65
|
-
rclone_api-1.5.
|
66
|
-
rclone_api-1.5.
|
61
|
+
rclone_api-1.5.58.dist-info/licenses/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
|
62
|
+
rclone_api-1.5.58.dist-info/METADATA,sha256=Wf15UYrtE1dqOgJ1OOLt8YKjK5sqrxcwHPdbbE8eaWg,37305
|
63
|
+
rclone_api-1.5.58.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
64
|
+
rclone_api-1.5.58.dist-info/entry_points.txt,sha256=ognh2e11HTjn73_KL5MWI67pBKS2jekBi-QTiRXySXA,316
|
65
|
+
rclone_api-1.5.58.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
|
66
|
+
rclone_api-1.5.58.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|