rclone-api 1.3.4__tar.gz → 1.3.6__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 (88) hide show
  1. {rclone_api-1.3.4 → rclone_api-1.3.6}/PKG-INFO +1 -1
  2. {rclone_api-1.3.4 → rclone_api-1.3.6}/pyproject.toml +1 -1
  3. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/cmd/copy_large_s3.py +1 -3
  4. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/exec.py +1 -1
  5. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/mount_read_chunker.py +8 -2
  6. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/profile/mount_copy_bytes.py +4 -2
  7. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/rclone.py +1315 -1276
  8. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/s3/upload_file_multipart.py +6 -3
  9. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/util.py +183 -162
  10. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api.egg-info/PKG-INFO +1 -1
  11. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_copy_bytes.py +20 -2
  12. {rclone_api-1.3.4 → rclone_api-1.3.6}/.aiderignore +0 -0
  13. {rclone_api-1.3.4 → rclone_api-1.3.6}/.github/workflows/lint.yml +0 -0
  14. {rclone_api-1.3.4 → rclone_api-1.3.6}/.github/workflows/push_macos.yml +0 -0
  15. {rclone_api-1.3.4 → rclone_api-1.3.6}/.github/workflows/push_ubuntu.yml +0 -0
  16. {rclone_api-1.3.4 → rclone_api-1.3.6}/.github/workflows/push_win.yml +0 -0
  17. {rclone_api-1.3.4 → rclone_api-1.3.6}/.gitignore +0 -0
  18. {rclone_api-1.3.4 → rclone_api-1.3.6}/.pylintrc +0 -0
  19. {rclone_api-1.3.4 → rclone_api-1.3.6}/.vscode/launch.json +0 -0
  20. {rclone_api-1.3.4 → rclone_api-1.3.6}/.vscode/settings.json +0 -0
  21. {rclone_api-1.3.4 → rclone_api-1.3.6}/.vscode/tasks.json +0 -0
  22. {rclone_api-1.3.4 → rclone_api-1.3.6}/LICENSE +0 -0
  23. {rclone_api-1.3.4 → rclone_api-1.3.6}/MANIFEST.in +0 -0
  24. {rclone_api-1.3.4 → rclone_api-1.3.6}/README.md +0 -0
  25. {rclone_api-1.3.4 → rclone_api-1.3.6}/clean +0 -0
  26. {rclone_api-1.3.4 → rclone_api-1.3.6}/install +0 -0
  27. {rclone_api-1.3.4 → rclone_api-1.3.6}/lint +0 -0
  28. {rclone_api-1.3.4 → rclone_api-1.3.6}/requirements.testing.txt +0 -0
  29. {rclone_api-1.3.4 → rclone_api-1.3.6}/setup.cfg +0 -0
  30. {rclone_api-1.3.4 → rclone_api-1.3.6}/setup.py +0 -0
  31. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/__init__.py +0 -0
  32. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/assets/example.txt +0 -0
  33. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/cli.py +0 -0
  34. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/cmd/list_files.py +0 -0
  35. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/completed_process.py +0 -0
  36. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/config.py +0 -0
  37. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/convert.py +0 -0
  38. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/deprecated.py +0 -0
  39. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/diff.py +0 -0
  40. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/dir.py +0 -0
  41. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/dir_listing.py +0 -0
  42. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/experimental/flags.py +0 -0
  43. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/experimental/flags_base.py +0 -0
  44. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/file.py +0 -0
  45. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/filelist.py +0 -0
  46. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/group_files.py +0 -0
  47. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/log.py +0 -0
  48. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/mount.py +0 -0
  49. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/process.py +0 -0
  50. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/remote.py +0 -0
  51. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/rpath.py +0 -0
  52. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/s3/api.py +0 -0
  53. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/s3/basic_ops.py +0 -0
  54. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/s3/chunk_task.py +0 -0
  55. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/s3/chunk_types.py +0 -0
  56. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/s3/create.py +0 -0
  57. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/s3/types.py +0 -0
  58. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/scan_missing_folders.py +0 -0
  59. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/types.py +0 -0
  60. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api/walk.py +0 -0
  61. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api.egg-info/SOURCES.txt +0 -0
  62. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api.egg-info/dependency_links.txt +0 -0
  63. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api.egg-info/entry_points.txt +0 -0
  64. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api.egg-info/requires.txt +0 -0
  65. {rclone_api-1.3.4 → rclone_api-1.3.6}/src/rclone_api.egg-info/top_level.txt +0 -0
  66. {rclone_api-1.3.4 → rclone_api-1.3.6}/test +0 -0
  67. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/archive/test_paramiko.py.disabled +0 -0
  68. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_cmd_list_files.py +0 -0
  69. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_copy.py +0 -0
  70. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_copy_file_resumable_s3.py +0 -0
  71. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_copy_files.py +0 -0
  72. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_diff.py +0 -0
  73. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_group_files.py +0 -0
  74. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_is_synced.py +0 -0
  75. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_ls.py +0 -0
  76. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_mount.py +0 -0
  77. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_mount_s3.py +0 -0
  78. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_obscure.py +0 -0
  79. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_rclone_config.py +0 -0
  80. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_remote_control.py +0 -0
  81. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_remotes.py +0 -0
  82. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_s3.py +0 -0
  83. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_scan_missing_folders.py +0 -0
  84. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_size_files.py +0 -0
  85. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_size_suffix.py +0 -0
  86. {rclone_api-1.3.4 → rclone_api-1.3.6}/tests/test_walk.py +0 -0
  87. {rclone_api-1.3.4 → rclone_api-1.3.6}/tox.ini +0 -0
  88. {rclone_api-1.3.4 → rclone_api-1.3.6}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  License: BSD 3-Clause License
@@ -23,7 +23,7 @@ dependencies = [
23
23
  ]
24
24
 
25
25
  # Change this with the version number bump.
26
- version = "1.3.4"
26
+ version = "1.3.6"
27
27
 
28
28
  [tool.setuptools]
29
29
  package-dir = {"" = "src"}
@@ -4,8 +4,6 @@ from pathlib import Path
4
4
 
5
5
  from rclone_api import MultiUploadResult, Rclone, SizeSuffix
6
6
 
7
- _1MB = 1024 * 1024
8
-
9
7
 
10
8
  @dataclass
11
9
  class Args:
@@ -39,7 +37,7 @@ def _parse_args() -> Args:
39
37
  "--chunk-size",
40
38
  help="Chunk size that will be read and uploaded in SizeSuffix form, too low or too high will cause issues",
41
39
  type=str,
42
- default="64MB", # if this is too low or too high an s3 service
40
+ default="128MB", # if this is too low or too high an s3 service
43
41
  )
44
42
  parser.add_argument(
45
43
  "--read-threads",
@@ -14,7 +14,7 @@ class RcloneExec:
14
14
  rclone_exe: Path
15
15
 
16
16
  def execute(
17
- self, cmd: list[str], check: bool, capture: bool | None = None
17
+ self, cmd: list[str], check: bool, capture: bool | Path | None = None
18
18
  ) -> subprocess.CompletedProcess:
19
19
  """Execute rclone command."""
20
20
  from rclone_api.util import rclone_execute
@@ -6,7 +6,7 @@ from threading import Lock, Semaphore
6
6
  from typing import Any
7
7
 
8
8
  from rclone_api.mount import Mount
9
- from rclone_api.types import FilePart
9
+ from rclone_api.types import FilePart, SizeSuffix
10
10
 
11
11
  # Create a logger for this module
12
12
  logger = logging.getLogger(__name__)
@@ -86,7 +86,13 @@ class MultiMountFileChunker:
86
86
  self.semaphore.release()
87
87
  logger.debug("Mount released")
88
88
 
89
- def fetch(self, offset: int, size: int, extra: Any) -> Future[FilePart]:
89
+ def fetch(
90
+ self, offset: int | SizeSuffix, size: int | SizeSuffix, extra: Any
91
+ ) -> Future[FilePart]:
92
+ offset = SizeSuffix(offset).as_int()
93
+ size = SizeSuffix(size).as_int()
94
+ if isinstance(size, SizeSuffix):
95
+ size = size.as_int()
90
96
  if self.verbose:
91
97
  logger.debug(f"Fetching data range: offset={offset}, size={size}")
92
98
 
@@ -218,7 +218,7 @@ def test_profile_copy_bytes(
218
218
  1024 * 1024 * 16,
219
219
  # 1024 * 1024 * 32,
220
220
  1024 * 1024 * 64,
221
- #1024 * 1024 * 128,
221
+ # 1024 * 1024 * 128,
222
222
  1024 * 1024 * 256,
223
223
  ]
224
224
  # transfer_list = [1, 2, 4, 8, 16]
@@ -253,8 +253,10 @@ def _parse_args() -> Args:
253
253
  args = parser.parse_args()
254
254
  return Args(direct_io=args.direct_io, num=args.num, size=args.size)
255
255
 
256
+
256
257
  _SHOW_CREDS = False
257
258
 
259
+
258
260
  def main() -> None:
259
261
  """Main entry point."""
260
262
  print("Running test_profile_copy_bytes")
@@ -271,7 +273,7 @@ def main() -> None:
271
273
  shutil.rmtree(mount_root_path)
272
274
 
273
275
  args = _parse_args()
274
- transfer_list = [args.num]
276
+ transfer_list = None
275
277
  # parallel_workers = args.num
276
278
 
277
279
  def task(