rclone-api 1.3.25__tar.gz → 1.3.26__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 (99) hide show
  1. {rclone_api-1.3.25 → rclone_api-1.3.26}/PKG-INFO +1 -1
  2. {rclone_api-1.3.25 → rclone_api-1.3.26}/pyproject.toml +1 -1
  3. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/types.py +22 -3
  4. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api.egg-info/PKG-INFO +1 -1
  5. {rclone_api-1.3.25 → rclone_api-1.3.26}/.aiderignore +0 -0
  6. {rclone_api-1.3.25 → rclone_api-1.3.26}/.github/workflows/lint.yml +0 -0
  7. {rclone_api-1.3.25 → rclone_api-1.3.26}/.github/workflows/push_macos.yml +0 -0
  8. {rclone_api-1.3.25 → rclone_api-1.3.26}/.github/workflows/push_ubuntu.yml +0 -0
  9. {rclone_api-1.3.25 → rclone_api-1.3.26}/.github/workflows/push_win.yml +0 -0
  10. {rclone_api-1.3.25 → rclone_api-1.3.26}/.gitignore +0 -0
  11. {rclone_api-1.3.25 → rclone_api-1.3.26}/.pylintrc +0 -0
  12. {rclone_api-1.3.25 → rclone_api-1.3.26}/.vscode/launch.json +0 -0
  13. {rclone_api-1.3.25 → rclone_api-1.3.26}/.vscode/settings.json +0 -0
  14. {rclone_api-1.3.25 → rclone_api-1.3.26}/.vscode/tasks.json +0 -0
  15. {rclone_api-1.3.25 → rclone_api-1.3.26}/LICENSE +0 -0
  16. {rclone_api-1.3.25 → rclone_api-1.3.26}/MANIFEST.in +0 -0
  17. {rclone_api-1.3.25 → rclone_api-1.3.26}/README.md +0 -0
  18. {rclone_api-1.3.25 → rclone_api-1.3.26}/clean +0 -0
  19. {rclone_api-1.3.25 → rclone_api-1.3.26}/install +0 -0
  20. {rclone_api-1.3.25 → rclone_api-1.3.26}/lint +0 -0
  21. {rclone_api-1.3.25 → rclone_api-1.3.26}/requirements.testing.txt +0 -0
  22. {rclone_api-1.3.25 → rclone_api-1.3.26}/setup.cfg +0 -0
  23. {rclone_api-1.3.25 → rclone_api-1.3.26}/setup.py +0 -0
  24. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/__init__.py +0 -0
  25. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/assets/example.txt +0 -0
  26. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/cli.py +0 -0
  27. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/cmd/analyze.py +0 -0
  28. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/cmd/copy_large_s3.py +0 -0
  29. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/cmd/list_files.py +0 -0
  30. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/cmd/save_to_db.py +0 -0
  31. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/completed_process.py +0 -0
  32. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/config.py +0 -0
  33. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/convert.py +0 -0
  34. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/db/__init__.py +0 -0
  35. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/db/db.py +0 -0
  36. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/db/models.py +0 -0
  37. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/deprecated.py +0 -0
  38. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/diff.py +0 -0
  39. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/dir.py +0 -0
  40. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/dir_listing.py +0 -0
  41. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/exec.py +0 -0
  42. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/experimental/flags.py +0 -0
  43. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/experimental/flags_base.py +0 -0
  44. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/file.py +0 -0
  45. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/file_item.py +0 -0
  46. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/filelist.py +0 -0
  47. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/group_files.py +0 -0
  48. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/http_server.py +0 -0
  49. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/log.py +0 -0
  50. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/mount.py +0 -0
  51. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/mount_read_chunker.py +0 -0
  52. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/process.py +0 -0
  53. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/profile/mount_copy_bytes.py +0 -0
  54. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/rclone.py +0 -0
  55. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/remote.py +0 -0
  56. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/rpath.py +0 -0
  57. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/s3/api.py +0 -0
  58. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/s3/basic_ops.py +0 -0
  59. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/s3/chunk_task.py +0 -0
  60. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/s3/chunk_types.py +0 -0
  61. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/s3/create.py +0 -0
  62. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/s3/types.py +0 -0
  63. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/s3/upload_file_multipart.py +0 -0
  64. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/scan_missing_folders.py +0 -0
  65. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/util.py +0 -0
  66. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api/walk.py +0 -0
  67. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api.egg-info/SOURCES.txt +0 -0
  68. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api.egg-info/dependency_links.txt +0 -0
  69. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api.egg-info/entry_points.txt +0 -0
  70. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api.egg-info/requires.txt +0 -0
  71. {rclone_api-1.3.25 → rclone_api-1.3.26}/src/rclone_api.egg-info/top_level.txt +0 -0
  72. {rclone_api-1.3.25 → rclone_api-1.3.26}/test +0 -0
  73. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/archive/test_paramiko.py.disabled +0 -0
  74. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_cmd_list_files.py +0 -0
  75. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_copy.py +0 -0
  76. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_copy_bytes.py +0 -0
  77. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_copy_file_resumable_s3.py +0 -0
  78. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_copy_files.py +0 -0
  79. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_db.py +0 -0
  80. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_diff.py +0 -0
  81. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_file_item.py +0 -0
  82. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_group_files.py +0 -0
  83. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_is_synced.py +0 -0
  84. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_ls.py +0 -0
  85. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_ls_stream_files.py +0 -0
  86. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_mount.py +0 -0
  87. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_mount_s3.py +0 -0
  88. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_obscure.py +0 -0
  89. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_rclone_config.py +0 -0
  90. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_remote_control.py +0 -0
  91. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_remotes.py +0 -0
  92. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_s3.py +0 -0
  93. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_scan_missing_folders.py +0 -0
  94. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_serve_http.py +0 -0
  95. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_size_files.py +0 -0
  96. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_size_suffix.py +0 -0
  97. {rclone_api-1.3.25 → rclone_api-1.3.26}/tests/test_walk.py +0 -0
  98. {rclone_api-1.3.25 → rclone_api-1.3.26}/tox.ini +0 -0
  99. {rclone_api-1.3.25 → rclone_api-1.3.26}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.3.25
3
+ Version: 1.3.26
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  License: BSD 3-Clause License
@@ -25,7 +25,7 @@ dependencies = [
25
25
  ]
26
26
 
27
27
  # Change this with the version number bump.
28
- version = "1.3.25"
28
+ version = "1.3.26"
29
29
 
30
30
  [tool.setuptools]
31
31
  package-dir = {"" = "src"}
@@ -290,6 +290,18 @@ atexit.register(_on_exit_cleanup)
290
290
 
291
291
  _FILEPARTS: list["FilePart"] = []
292
292
 
293
+ _FILEPARTS_LOCK = Lock()
294
+ def _add_filepart(part: "FilePart") -> None:
295
+ with _FILEPARTS_LOCK:
296
+ if part not in _FILEPARTS:
297
+ _FILEPARTS.append(part)
298
+
299
+ def _remove_filepart(part: "FilePart") -> None:
300
+ with _FILEPARTS_LOCK:
301
+ if part in _FILEPARTS:
302
+ _FILEPARTS.remove(part)
303
+
304
+
293
305
 
294
306
  class ListFileParts(Thread):
295
307
  def __init__(self):
@@ -317,8 +329,10 @@ class FilePart:
317
329
  from rclone_api.util import random_str
318
330
 
319
331
  stacktrace = traceback.format_stack()
320
- self.stacktrace = stacktrace
321
- _FILEPARTS.append(self)
332
+ stacktrace_str = "".join(stacktrace)
333
+ self.stacktrace = stacktrace_str
334
+ # _FILEPARTS.append(self)
335
+ _add_filepart(self)
322
336
 
323
337
  self.extra = extra
324
338
  self._lock = Lock()
@@ -375,7 +389,8 @@ class FilePart:
375
389
  return isinstance(self.payload, Exception)
376
390
 
377
391
  def dispose(self) -> None:
378
- _FILEPARTS.remove(self)
392
+ # _FILEPARTS.remove(self)
393
+ _remove_filepart(self)
379
394
  print("Disposing file part")
380
395
  with self._lock:
381
396
  if isinstance(self.payload, Exception):
@@ -399,3 +414,7 @@ class FilePart:
399
414
 
400
415
  def __del__(self):
401
416
  self.dispose()
417
+
418
+ def __repr__(self):
419
+ payload_str = "err" if self.is_error() else f"{SizeSuffix(self.n_bytes())}"
420
+ return f"FilePart(payload={payload_str}, extra={self.extra})"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.3.25
3
+ Version: 1.3.26
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