rclone-api 1.1.13__tar.gz → 1.1.14__tar.gz

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.
Files changed (84) hide show
  1. {rclone_api-1.1.13 → rclone_api-1.1.14}/PKG-INFO +1 -1
  2. {rclone_api-1.1.13 → rclone_api-1.1.14}/pyproject.toml +1 -1
  3. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/mount.py +1 -0
  4. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/rclone.py +3 -2
  5. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/s3/chunk_types.py +7 -5
  6. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api.egg-info/PKG-INFO +1 -1
  7. {rclone_api-1.1.13 → rclone_api-1.1.14}/.aiderignore +0 -0
  8. {rclone_api-1.1.13 → rclone_api-1.1.14}/.github/workflows/lint.yml +0 -0
  9. {rclone_api-1.1.13 → rclone_api-1.1.14}/.github/workflows/push_macos.yml +0 -0
  10. {rclone_api-1.1.13 → rclone_api-1.1.14}/.github/workflows/push_ubuntu.yml +0 -0
  11. {rclone_api-1.1.13 → rclone_api-1.1.14}/.github/workflows/push_win.yml +0 -0
  12. {rclone_api-1.1.13 → rclone_api-1.1.14}/.gitignore +0 -0
  13. {rclone_api-1.1.13 → rclone_api-1.1.14}/.pylintrc +0 -0
  14. {rclone_api-1.1.13 → rclone_api-1.1.14}/.vscode/launch.json +0 -0
  15. {rclone_api-1.1.13 → rclone_api-1.1.14}/.vscode/settings.json +0 -0
  16. {rclone_api-1.1.13 → rclone_api-1.1.14}/.vscode/tasks.json +0 -0
  17. {rclone_api-1.1.13 → rclone_api-1.1.14}/LICENSE +0 -0
  18. {rclone_api-1.1.13 → rclone_api-1.1.14}/MANIFEST.in +0 -0
  19. {rclone_api-1.1.13 → rclone_api-1.1.14}/README.md +0 -0
  20. {rclone_api-1.1.13 → rclone_api-1.1.14}/clean +0 -0
  21. {rclone_api-1.1.13 → rclone_api-1.1.14}/install +0 -0
  22. {rclone_api-1.1.13 → rclone_api-1.1.14}/lint +0 -0
  23. {rclone_api-1.1.13 → rclone_api-1.1.14}/requirements.testing.txt +0 -0
  24. {rclone_api-1.1.13 → rclone_api-1.1.14}/setup.cfg +0 -0
  25. {rclone_api-1.1.13 → rclone_api-1.1.14}/setup.py +0 -0
  26. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/__init__.py +0 -0
  27. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/assets/example.txt +0 -0
  28. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/cli.py +0 -0
  29. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/cmd/copy_large_s3.py +0 -0
  30. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/cmd/list_files.py +0 -0
  31. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/completed_process.py +0 -0
  32. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/config.py +0 -0
  33. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/convert.py +0 -0
  34. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/deprecated.py +0 -0
  35. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/diff.py +0 -0
  36. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/dir.py +0 -0
  37. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/dir_listing.py +0 -0
  38. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/exec.py +0 -0
  39. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/experimental/flags.py +0 -0
  40. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/experimental/flags_base.py +0 -0
  41. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/file.py +0 -0
  42. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/filelist.py +0 -0
  43. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/group_files.py +0 -0
  44. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/process.py +0 -0
  45. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/remote.py +0 -0
  46. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/rpath.py +0 -0
  47. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/s3/api.py +0 -0
  48. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/s3/basic_ops.py +0 -0
  49. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/s3/chunk_file.py +0 -0
  50. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/s3/chunk_uploader.py +0 -0
  51. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/s3/create.py +0 -0
  52. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/s3/types.py +0 -0
  53. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/scan_missing_folders.py +0 -0
  54. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/types.py +0 -0
  55. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/util.py +0 -0
  56. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api/walk.py +0 -0
  57. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api.egg-info/SOURCES.txt +0 -0
  58. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api.egg-info/dependency_links.txt +0 -0
  59. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api.egg-info/entry_points.txt +0 -0
  60. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api.egg-info/requires.txt +0 -0
  61. {rclone_api-1.1.13 → rclone_api-1.1.14}/src/rclone_api.egg-info/top_level.txt +0 -0
  62. {rclone_api-1.1.13 → rclone_api-1.1.14}/test +0 -0
  63. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/archive/test_paramiko.py.disabled +0 -0
  64. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_cmd_list_files.py +0 -0
  65. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_copy.py +0 -0
  66. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_copy_files.py +0 -0
  67. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_diff.py +0 -0
  68. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_group_files.py +0 -0
  69. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_is_synced.py +0 -0
  70. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_ls.py +0 -0
  71. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_mount.py +0 -0
  72. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_mount_s3.py +0 -0
  73. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_mounted_ranged_download.py +0 -0
  74. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_obscure.py +0 -0
  75. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_rclone_config.py +0 -0
  76. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_remote_control.py +0 -0
  77. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_remotes.py +0 -0
  78. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_s3.py +0 -0
  79. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_scan_missing_folders.py +0 -0
  80. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_size_files.py +0 -0
  81. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_size_suffix.py +0 -0
  82. {rclone_api-1.1.13 → rclone_api-1.1.14}/tests/test_walk.py +0 -0
  83. {rclone_api-1.1.13 → rclone_api-1.1.14}/tox.ini +0 -0
  84. {rclone_api-1.1.13 → rclone_api-1.1.14}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.13
3
+ Version: 1.1.14
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  License: BSD 3-Clause License
@@ -21,7 +21,7 @@ dependencies = [
21
21
  ]
22
22
 
23
23
  # Change this with the version number bump.
24
- version = "1.1.13"
24
+ version = "1.1.14"
25
25
 
26
26
  [tool.setuptools]
27
27
  package-dir = {"" = "src"}
@@ -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):
@@ -710,6 +710,7 @@ 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"]
713
714
  mount_path = mount_path or Path("tmp_mnts") / random_str(12)
714
715
  src_path = Path(src)
715
716
  name = src_path.name
@@ -876,8 +877,8 @@ class Rclone:
876
877
  if other_args:
877
878
  cmd_list += other_args
878
879
  proc = self._launch_process(cmd_list)
879
-
880
- mount: Mount = Mount(mount_path=outdir, process=proc)
880
+ mount_read_only = "--read-only" in cmd_list # hint to allow fast teardown
881
+ mount: Mount = Mount(mount_path=outdir, process=proc, read_only=mount_read_only)
881
882
  return mount
882
883
 
883
884
  @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.14
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  License: BSD 3-Clause License
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