rclone-api 1.3.24__py2.py3-none-any.whl → 1.3.25__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.
@@ -184,6 +184,9 @@ def file_chunker(
184
184
  logger.info(
185
185
  f"Reading chunk {curr_part_number} of {num_parts} for {file_path}"
186
186
  )
187
+ logger.debug(
188
+ f"Fetching part {curr_part_number} with offset {offset} and size {fetch_size}"
189
+ )
187
190
  fut = fetcher(
188
191
  offset, fetch_size, S3FileInfo(upload_info.upload_id, curr_part_number)
189
192
  )
rclone_api/types.py CHANGED
@@ -6,7 +6,7 @@ import warnings
6
6
  from dataclasses import dataclass
7
7
  from enum import Enum
8
8
  from pathlib import Path
9
- from threading import Lock
9
+ from threading import Lock, Thread
10
10
  from typing import Any
11
11
 
12
12
 
@@ -288,10 +288,38 @@ def _on_exit_cleanup() -> None:
288
288
  atexit.register(_on_exit_cleanup)
289
289
 
290
290
 
291
+ _FILEPARTS: list["FilePart"] = []
292
+
293
+
294
+ class ListFileParts(Thread):
295
+ def __init__(self):
296
+ super().__init__(daemon=True)
297
+ self.start()
298
+
299
+ def run(self):
300
+ while True:
301
+ print("File parts:")
302
+ for part in _FILEPARTS:
303
+ print(part)
304
+ print(part.stacktrace)
305
+ print("\n")
306
+ print("\n\n")
307
+ time.sleep(5)
308
+
309
+
310
+ dbg_thread = ListFileParts()
311
+
312
+
291
313
  class FilePart:
292
314
  def __init__(self, payload: Path | bytes | Exception, extra: Any) -> None:
315
+ import traceback
316
+
293
317
  from rclone_api.util import random_str
294
318
 
319
+ stacktrace = traceback.format_stack()
320
+ self.stacktrace = stacktrace
321
+ _FILEPARTS.append(self)
322
+
295
323
  self.extra = extra
296
324
  self._lock = Lock()
297
325
  self.payload: Path | Exception
@@ -347,6 +375,7 @@ class FilePart:
347
375
  return isinstance(self.payload, Exception)
348
376
 
349
377
  def dispose(self) -> None:
378
+ _FILEPARTS.remove(self)
350
379
  print("Disposing file part")
351
380
  with self._lock:
352
381
  if isinstance(self.payload, Exception):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.3.24
3
+ Version: 1.3.25
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 @@ rclone_api/rclone.py,sha256=yRhQoCBJI-tfhxySR17a-vSEhWw5cMbk8_WbYs5WqRc,54117
21
21
  rclone_api/remote.py,sha256=jq3dPbAGvYZFW5cTviqxT2w6_jG2LLfS1RIcYSmMsQQ,503
22
22
  rclone_api/rpath.py,sha256=8ZA_1wxWtskwcy0I8V2VbjKDmzPkiWd8Q2JQSvh-sYE,2586
23
23
  rclone_api/scan_missing_folders.py,sha256=Kulca2Q6WZodt00ATFHkmqqInuoPvBkhTcS9703y6po,4740
24
- rclone_api/types.py,sha256=CGwxlnhVgJumwSLukx68ZEM9m2gxLPDcAeVLbzS2JBA,11173
24
+ rclone_api/types.py,sha256=ywPapK0Mw9inphdsxnxQwodyA2hCEfblwG7Pz1mvl3E,11792
25
25
  rclone_api/util.py,sha256=F9Q3zbWRsgPF4NG6OWB63cZ7GVq82lsraP47gmmDohU,5416
26
26
  rclone_api/walk.py,sha256=-54NVE8EJcCstwDoaC_UtHm73R2HrZwVwQmsnv55xNU,3369
27
27
  rclone_api/assets/example.txt,sha256=lTBovRjiz0_TgtAtbA1C5hNi2ffbqnNPqkKg6UiKCT8,54
@@ -37,14 +37,14 @@ rclone_api/experimental/flags_base.py,sha256=ajU_czkTcAxXYU-SlmiCfHY7aCQGHvpCLqJ
37
37
  rclone_api/profile/mount_copy_bytes.py,sha256=M1vZn-Mrga14Ik7MHGZHbnwYli41Ep6Tyll7hQc7Wmo,9071
38
38
  rclone_api/s3/api.py,sha256=PafsIEyWDpLWAXsZAjFm9CY14vJpsDr9lOsn0kGRLZ0,4009
39
39
  rclone_api/s3/basic_ops.py,sha256=hK3366xhVEzEcjz9Gk_8lFx6MRceAk72cax6mUrr6ko,2104
40
- rclone_api/s3/chunk_task.py,sha256=ZAsVOdiKae0aJ6_YjDuFYG8ZxCfF5jWWMToPM_Li9bo,7286
40
+ rclone_api/s3/chunk_task.py,sha256=AanVCygDoUjmMOUdEIYl-hEpPEGSJTIU_MSFGQ0tI0Q,7421
41
41
  rclone_api/s3/chunk_types.py,sha256=oSWv8No9V3BeM7IcGnowyR2a7YrszdAXzEJlxaeZcp0,8852
42
42
  rclone_api/s3/create.py,sha256=wgfkapv_j904CfKuWyiBIWJVxfAx_ftemFSUV14aT68,3149
43
43
  rclone_api/s3/types.py,sha256=Elmh__gvZJyJyElYwMmvYZIBIunDJiTRAbEg21GmsRU,1604
44
44
  rclone_api/s3/upload_file_multipart.py,sha256=bxAB_SFkyydBBzC_cAv7gShe93nBkFVS-TXwM2Xttfk,12425
45
- rclone_api-1.3.24.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
46
- rclone_api-1.3.24.dist-info/METADATA,sha256=uP9r1gJ4ASyiISJg48vY86hiUBlvib2ZRRhJ_tBaSyg,4628
47
- rclone_api-1.3.24.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
48
- rclone_api-1.3.24.dist-info/entry_points.txt,sha256=fJteOlYVwgX3UbNuL9jJ0zUTuX2O79JFAeNgK7Sw7EQ,255
49
- rclone_api-1.3.24.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
50
- rclone_api-1.3.24.dist-info/RECORD,,
45
+ rclone_api-1.3.25.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
46
+ rclone_api-1.3.25.dist-info/METADATA,sha256=Pq7IVLcxa50RVNbvCcqG3yGkL2QN9mgb9t_aCA-9sn0,4628
47
+ rclone_api-1.3.25.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
48
+ rclone_api-1.3.25.dist-info/entry_points.txt,sha256=fJteOlYVwgX3UbNuL9jJ0zUTuX2O79JFAeNgK7Sw7EQ,255
49
+ rclone_api-1.3.25.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
50
+ rclone_api-1.3.25.dist-info/RECORD,,