rclone-api 1.1.36__tar.gz → 1.1.38__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.36 → rclone_api-1.1.38}/PKG-INFO +1 -1
- {rclone_api-1.1.36 → rclone_api-1.1.38}/pyproject.toml +1 -1
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/profile/mount_copy_bytes.py +33 -4
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api.egg-info/PKG-INFO +1 -1
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.aiderignore +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.github/workflows/lint.yml +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.github/workflows/push_macos.yml +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.github/workflows/push_ubuntu.yml +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.github/workflows/push_win.yml +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.gitignore +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.pylintrc +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.vscode/launch.json +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.vscode/settings.json +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/.vscode/tasks.json +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/LICENSE +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/MANIFEST.in +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/README.md +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/clean +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/install +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/lint +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/requirements.testing.txt +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/setup.cfg +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/setup.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/__init__.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/assets/example.txt +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/cli.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/cmd/copy_large_s3.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/cmd/list_files.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/completed_process.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/config.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/convert.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/deprecated.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/diff.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/dir.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/dir_listing.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/exec.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/experimental/flags.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/experimental/flags_base.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/file.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/filelist.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/group_files.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/mount.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/process.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/rclone.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/remote.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/rpath.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/s3/api.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/s3/basic_ops.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/s3/chunk_file.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/s3/chunk_types.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/s3/create.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/s3/types.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/s3/upload_file_multipart.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/scan_missing_folders.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/types.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/util.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api/walk.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api.egg-info/SOURCES.txt +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api.egg-info/dependency_links.txt +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api.egg-info/entry_points.txt +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api.egg-info/requires.txt +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/src/rclone_api.egg-info/top_level.txt +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/test +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/archive/test_paramiko.py.disabled +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_cmd_list_files.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_copy.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_copy_bytes.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_copy_file_resumable_s3.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_copy_files.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_diff.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_group_files.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_is_synced.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_ls.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_mount.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_mount_s3.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_obscure.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_rclone_config.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_remote_control.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_remotes.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_s3.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_scan_missing_folders.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_size_files.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_size_suffix.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tests/test_walk.py +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/tox.ini +0 -0
- {rclone_api-1.1.36 → rclone_api-1.1.38}/upload_package.sh +0 -0
|
@@ -4,6 +4,7 @@ Unit test file.
|
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
6
|
import time
|
|
7
|
+
from dataclasses import dataclass
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
|
|
9
10
|
import psutil
|
|
@@ -13,10 +14,20 @@ from rclone_api import Config, Rclone, SizeSuffix
|
|
|
13
14
|
|
|
14
15
|
load_dotenv()
|
|
15
16
|
|
|
16
|
-
BUCKET_NAME = os.getenv("BUCKET_NAME") # Default if not in .env
|
|
17
17
|
|
|
18
|
+
@dataclass
|
|
19
|
+
class Credentials:
|
|
20
|
+
BUCKET_KEY_SECRET: str
|
|
21
|
+
BUCKET_KEY_PUBLIC: str
|
|
22
|
+
BUCKET_NAME: str
|
|
23
|
+
SRC_SFTP_HOST: str
|
|
24
|
+
SRC_SFTP_USER: str
|
|
25
|
+
SRC_SFTP_PORT: str
|
|
26
|
+
SRC_SFTP_PASS: str
|
|
27
|
+
BUCKET_URL: str
|
|
18
28
|
|
|
19
|
-
|
|
29
|
+
|
|
30
|
+
def _generate_rclone_config() -> tuple[Config, Credentials]:
|
|
20
31
|
|
|
21
32
|
cwd = Path.cwd()
|
|
22
33
|
print(f"Current working directory: {cwd}")
|
|
@@ -31,6 +42,7 @@ def _generate_rclone_config() -> Config:
|
|
|
31
42
|
# Load additional environment variables
|
|
32
43
|
BUCKET_KEY_SECRET = os.getenv("BUCKET_KEY_SECRET")
|
|
33
44
|
BUCKET_KEY_PUBLIC = os.getenv("BUCKET_KEY_PUBLIC")
|
|
45
|
+
BUCKET_NAME = os.getenv("BUCKET_NAME")
|
|
34
46
|
SRC_SFTP_HOST = os.getenv("SRC_SFTP_HOST")
|
|
35
47
|
SRC_SFTP_USER = os.getenv("SRC_SFTP_USER")
|
|
36
48
|
SRC_SFTP_PORT = os.getenv("SRC_SFTP_PORT")
|
|
@@ -59,7 +71,19 @@ pass = {SRC_SFTP_PASS}
|
|
|
59
71
|
print(config_text)
|
|
60
72
|
# _CONFIG_PATH.write_text(config_text, encoding="utf-8")
|
|
61
73
|
# print(f"Config file written to: {_CONFIG_PATH}")
|
|
62
|
-
|
|
74
|
+
|
|
75
|
+
creds = Credentials(
|
|
76
|
+
BUCKET_KEY_SECRET=str(BUCKET_KEY_SECRET),
|
|
77
|
+
BUCKET_KEY_PUBLIC=str(BUCKET_KEY_PUBLIC),
|
|
78
|
+
BUCKET_NAME=str(BUCKET_NAME),
|
|
79
|
+
SRC_SFTP_HOST=str(SRC_SFTP_HOST),
|
|
80
|
+
SRC_SFTP_USER=str(SRC_SFTP_USER),
|
|
81
|
+
SRC_SFTP_PORT=str(SRC_SFTP_PORT),
|
|
82
|
+
SRC_SFTP_PASS=str(SRC_SFTP_PASS),
|
|
83
|
+
BUCKET_URL=str(BUCKET_URL),
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
return Config(config_text), creds
|
|
63
87
|
|
|
64
88
|
|
|
65
89
|
def _init() -> None:
|
|
@@ -78,7 +102,12 @@ def _init() -> None:
|
|
|
78
102
|
|
|
79
103
|
def test_profile_copy_bytes() -> None:
|
|
80
104
|
print("Running test_profile_copy_bytes")
|
|
81
|
-
|
|
105
|
+
config, creds = _generate_rclone_config()
|
|
106
|
+
print("Config:")
|
|
107
|
+
print(config)
|
|
108
|
+
print("Credentials:")
|
|
109
|
+
print(creds)
|
|
110
|
+
rclone = Rclone(config)
|
|
82
111
|
|
|
83
112
|
sizes = [
|
|
84
113
|
1024 * 1024 * 1,
|
|
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
|
|
File without changes
|
|
File without changes
|