rclone-api 1.1.13__py2.py3-none-any.whl → 1.1.15__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/mount.py CHANGED
@@ -18,6 +18,7 @@ class Mount:
18
18
 
19
19
  mount_path: Path
20
20
  process: Process
21
+ read_only: bool
21
22
  _closed: bool = False
22
23
 
23
24
  def __post_init__(self):
rclone_api/rclone.py CHANGED
@@ -710,6 +710,10 @@ class Rclone:
710
710
  "--vfs-disk-space-total-size",
711
711
  vfs_disk_space_total_size.as_str(),
712
712
  ]
713
+ other_args += ["--read-only"]
714
+ other_args += ["--direct-io"]
715
+ # --vfs-cache-max-size
716
+ other_args += ["--vfs-cache-max-size", vfs_disk_space_total_size.as_str()]
713
717
  mount_path = mount_path or Path("tmp_mnts") / random_str(12)
714
718
  src_path = Path(src)
715
719
  name = src_path.name
@@ -876,8 +880,8 @@ class Rclone:
876
880
  if other_args:
877
881
  cmd_list += other_args
878
882
  proc = self._launch_process(cmd_list)
879
-
880
- mount: Mount = Mount(mount_path=outdir, process=proc)
883
+ mount_read_only = "--read-only" in cmd_list # hint to allow fast teardown
884
+ mount: Mount = Mount(mount_path=outdir, process=proc, read_only=mount_read_only)
881
885
  return mount
882
886
 
883
887
  @contextmanager
@@ -267,13 +267,15 @@ class UploadState:
267
267
  if p is not None:
268
268
  count_non_none += 1
269
269
 
270
- # self.count()
270
+ file_size_bytes = self.upload_info.file_size
271
271
  finished_count, total = self.count()
272
- total_finished: SizeSuffix = SizeSuffix(
273
- finished_count * self.upload_info.chunk_size
274
- )
272
+
273
+ total_finished_size_bytes = finished_count * self.upload_info.chunk_size
274
+ if finished_count == total:
275
+ total_finished_size_bytes = file_size_bytes
276
+ total_finished: SizeSuffix = SizeSuffix(total_finished_size_bytes)
275
277
  total_remaining: SizeSuffix = SizeSuffix(
276
- self.remaining() * self.upload_info.chunk_size
278
+ file_size_bytes - total_finished_size_bytes
277
279
  )
278
280
 
279
281
  # parts.sort(key=lambda x: x.part_number) # Some backends need this.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.13
3
+ Version: 1.1.15
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  License: BSD 3-Clause License
@@ -11,9 +11,9 @@ rclone_api/exec.py,sha256=1ovvaMXDEfLiT7BrYZyE85u_yFhEUwUNW3jPOzqknR8,1023
11
11
  rclone_api/file.py,sha256=EP5yT2dZ0H2p7CY5n0y5k5pHhIliV25pm8KOwBklUTk,1863
12
12
  rclone_api/filelist.py,sha256=xbiusvNgaB_b_kQOZoHMJJxn6TWGtPrWd2J042BI28o,767
13
13
  rclone_api/group_files.py,sha256=H92xPW9lQnbNw5KbtZCl00bD6iRh9yRbCuxku4j_3dg,8036
14
- rclone_api/mount.py,sha256=Xj3BMVSDEwUbtMi8ycn5mUom-fAf-F9lJOjR_BzVllw,6073
14
+ rclone_api/mount.py,sha256=g9YkKCGJbWvGF7gzSKtWa8pEgphuW0-e0SySxtOirH4,6093
15
15
  rclone_api/process.py,sha256=xYUgU17txkZfZdr4vtRfvD8YjvSfdrbjM7PYW1npAMI,4264
16
- rclone_api/rclone.py,sha256=MelTVgBhV-JQdDUMLYusEuNSOq-RyrZCcKkkkSpsRfA,39955
16
+ rclone_api/rclone.py,sha256=OvzshnLhcnDWvcoXwnMYg5NfNPpn_b2Ws1qB-UPoSBQ,40254
17
17
  rclone_api/remote.py,sha256=O9WDUFQy9f6oT1HdUbTixK2eg0xtBBm8k4Xl6aa6K00,431
18
18
  rclone_api/rpath.py,sha256=8ZA_1wxWtskwcy0I8V2VbjKDmzPkiWd8Q2JQSvh-sYE,2586
19
19
  rclone_api/scan_missing_folders.py,sha256=Kulca2Q6WZodt00ATFHkmqqInuoPvBkhTcS9703y6po,4740
@@ -28,13 +28,13 @@ rclone_api/experimental/flags_base.py,sha256=ajU_czkTcAxXYU-SlmiCfHY7aCQGHvpCLqJ
28
28
  rclone_api/s3/api.py,sha256=VstlaEnBjO2JDQuCRLdTfUGvQLbfshlXXhAzimFv4Vc,3763
29
29
  rclone_api/s3/basic_ops.py,sha256=hK3366xhVEzEcjz9Gk_8lFx6MRceAk72cax6mUrr6ko,2104
30
30
  rclone_api/s3/chunk_file.py,sha256=XPoDl7DJMJIGBMRoPO2wqwqCMT7ZrIsEkDqlbMH8jzs,3506
31
- rclone_api/s3/chunk_types.py,sha256=Ihg0nzm6AVyfRfxkU4-WD2BfWBzIpbj2od-hOU-oMIA,10210
31
+ rclone_api/s3/chunk_types.py,sha256=vUmaTl3hGPodriM9DW1nAsYm0kHGfNT8nPWv6ur22Jo,10370
32
32
  rclone_api/s3/chunk_uploader.py,sha256=7Qumc2emQ-SpbnTL8PBN4ElpghnFWJfozVHPhm6LrQ4,9683
33
33
  rclone_api/s3/create.py,sha256=SK3IGHZwsSkoG4Zb4NCphcVg9_f7VifDKng-tExMS2s,3088
34
34
  rclone_api/s3/types.py,sha256=yBnJ38Tjk6RlydJ-sqZ7DSfyFloy8KDYJ0mv3vlOzLE,1388
35
- rclone_api-1.1.13.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
36
- rclone_api-1.1.13.dist-info/METADATA,sha256=l1tZI5VchTG1SzEU4TMuRfT4TDag2CQfby_g97dzs7k,4479
37
- rclone_api-1.1.13.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
38
- rclone_api-1.1.13.dist-info/entry_points.txt,sha256=6eNqTRXKhVf8CpWNjXiOa_0Du9tHiW_HD2iQSXRsUg8,132
39
- rclone_api-1.1.13.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
40
- rclone_api-1.1.13.dist-info/RECORD,,
35
+ rclone_api-1.1.15.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
36
+ rclone_api-1.1.15.dist-info/METADATA,sha256=XoLtZJjfTlmzqeO8-LNNWAvqjkOlIFTUPXaI0-E3U7U,4479
37
+ rclone_api-1.1.15.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
38
+ rclone_api-1.1.15.dist-info/entry_points.txt,sha256=6eNqTRXKhVf8CpWNjXiOa_0Du9tHiW_HD2iQSXRsUg8,132
39
+ rclone_api-1.1.15.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
40
+ rclone_api-1.1.15.dist-info/RECORD,,