rclone-api 1.1.33__tar.gz → 1.1.35__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.
- {rclone_api-1.1.33 → rclone_api-1.1.35}/PKG-INFO +1 -1
- {rclone_api-1.1.33 → rclone_api-1.1.35}/pyproject.toml +3 -2
- {rclone_api-1.1.33/src/rclone_api/profiling → rclone_api-1.1.35/src/rclone_api/profile}/mount_copy_bytes.py +8 -1
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api.egg-info/PKG-INFO +1 -1
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api.egg-info/SOURCES.txt +1 -1
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api.egg-info/entry_points.txt +1 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.aiderignore +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.github/workflows/lint.yml +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.github/workflows/push_macos.yml +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.github/workflows/push_ubuntu.yml +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.github/workflows/push_win.yml +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.gitignore +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.pylintrc +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.vscode/launch.json +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.vscode/settings.json +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/.vscode/tasks.json +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/LICENSE +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/MANIFEST.in +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/README.md +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/clean +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/install +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/lint +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/requirements.testing.txt +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/setup.cfg +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/setup.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/__init__.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/assets/example.txt +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/cli.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/cmd/copy_large_s3.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/cmd/list_files.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/completed_process.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/config.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/convert.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/deprecated.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/diff.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/dir.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/dir_listing.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/exec.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/experimental/flags.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/experimental/flags_base.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/file.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/filelist.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/group_files.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/mount.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/process.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/rclone.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/remote.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/rpath.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/s3/api.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/s3/basic_ops.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/s3/chunk_file.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/s3/chunk_types.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/s3/create.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/s3/types.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/s3/upload_file_multipart.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/scan_missing_folders.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/types.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/util.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api/walk.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api.egg-info/dependency_links.txt +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api.egg-info/requires.txt +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/src/rclone_api.egg-info/top_level.txt +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/test +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/archive/test_paramiko.py.disabled +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_cmd_list_files.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_copy.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_copy_bytes.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_copy_file_resumable_s3.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_copy_files.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_diff.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_group_files.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_is_synced.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_ls.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_mount.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_mount_s3.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_obscure.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_rclone_config.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_remote_control.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_remotes.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_s3.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_scan_missing_folders.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_size_files.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_size_suffix.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tests/test_walk.py +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/tox.ini +0 -0
- {rclone_api-1.1.33 → rclone_api-1.1.35}/upload_package.sh +0 -0
|
@@ -23,7 +23,7 @@ dependencies = [
|
|
|
23
23
|
]
|
|
24
24
|
|
|
25
25
|
# Change this with the version number bump.
|
|
26
|
-
version = "1.1.
|
|
26
|
+
version = "1.1.35"
|
|
27
27
|
|
|
28
28
|
[tool.setuptools]
|
|
29
29
|
package-dir = {"" = "src"}
|
|
@@ -54,4 +54,5 @@ disable_error_code = ["import-untyped"]
|
|
|
54
54
|
|
|
55
55
|
[project.scripts]
|
|
56
56
|
rclone-api-listfiles = "rclone_api.cmd.list_files:main"
|
|
57
|
-
rclone-api-copylarge-s3 = "rclone_api.cmd.copy_large_s3:main"
|
|
57
|
+
rclone-api-copylarge-s3 = "rclone_api.cmd.copy_large_s3:main"
|
|
58
|
+
rclone-api-profile-mount = "rclone_api.profile.mount_copy_bytes:main"
|
|
@@ -4,6 +4,7 @@ Unit test file.
|
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
6
|
import time
|
|
7
|
+
from pathlib import Path
|
|
7
8
|
|
|
8
9
|
import psutil
|
|
9
10
|
from dotenv import load_dotenv
|
|
@@ -51,6 +52,8 @@ port = {SRC_SFTP_PORT}
|
|
|
51
52
|
pass = {SRC_SFTP_PASS}
|
|
52
53
|
|
|
53
54
|
"""
|
|
55
|
+
print("Config text:")
|
|
56
|
+
print(config_text)
|
|
54
57
|
# _CONFIG_PATH.write_text(config_text, encoding="utf-8")
|
|
55
58
|
# print(f"Config file written to: {_CONFIG_PATH}")
|
|
56
59
|
return Config(config_text)
|
|
@@ -73,6 +76,7 @@ def _init() -> None:
|
|
|
73
76
|
def test_profile_copy_bytes() -> None:
|
|
74
77
|
print("Running test_profile_copy_bytes")
|
|
75
78
|
rclone = Rclone(_generate_rclone_config())
|
|
79
|
+
|
|
76
80
|
sizes = [
|
|
77
81
|
1024 * 1024 * 1,
|
|
78
82
|
1024 * 1024 * 2,
|
|
@@ -91,6 +95,7 @@ def test_profile_copy_bytes() -> None:
|
|
|
91
95
|
|
|
92
96
|
for size in sizes:
|
|
93
97
|
for transfers in transfer_list:
|
|
98
|
+
mount_log = Path("logs") / "mount" / f"mount_{size}_{transfers}.log"
|
|
94
99
|
print("\n\n")
|
|
95
100
|
print("#" * 80)
|
|
96
101
|
print(
|
|
@@ -105,12 +110,14 @@ def test_profile_copy_bytes() -> None:
|
|
|
105
110
|
length=size,
|
|
106
111
|
direct_io=True,
|
|
107
112
|
transfers=transfers,
|
|
113
|
+
mount_log=mount_log,
|
|
108
114
|
)
|
|
109
115
|
diff = time.time() - start
|
|
110
116
|
net_io_end = psutil.net_io_counters()
|
|
111
117
|
if isinstance(bytes_or_err, Exception):
|
|
112
118
|
print(bytes_or_err)
|
|
113
|
-
|
|
119
|
+
stack_trace = bytes_or_err.__traceback__
|
|
120
|
+
assert False, f"Error: {bytes_or_err}\nStack trace:\n{stack_trace}"
|
|
114
121
|
assert isinstance(bytes_or_err, bytes)
|
|
115
122
|
# self.assertEqual(len(bytes_or_err), size)
|
|
116
123
|
assert len(bytes_or_err) == size, f"Length: {len(bytes_or_err)} != {size}"
|
|
@@ -53,7 +53,7 @@ src/rclone_api/cmd/copy_large_s3.py
|
|
|
53
53
|
src/rclone_api/cmd/list_files.py
|
|
54
54
|
src/rclone_api/experimental/flags.py
|
|
55
55
|
src/rclone_api/experimental/flags_base.py
|
|
56
|
-
src/rclone_api/
|
|
56
|
+
src/rclone_api/profile/mount_copy_bytes.py
|
|
57
57
|
src/rclone_api/s3/api.py
|
|
58
58
|
src/rclone_api/s3/basic_ops.py
|
|
59
59
|
src/rclone_api/s3/chunk_file.py
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|