rclone-api 1.1.46__py2.py3-none-any.whl → 1.1.47__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.
@@ -2,6 +2,7 @@
2
2
  Unit test file.
3
3
  """
4
4
 
5
+ import argparse
5
6
  import os
6
7
  import shutil
7
8
  import time
@@ -14,6 +15,11 @@ from dotenv import load_dotenv
14
15
  from rclone_api import Config, Rclone, SizeSuffix
15
16
 
16
17
 
18
+ @dataclass
19
+ class Args:
20
+ direct_io: bool
21
+
22
+
17
23
  @dataclass
18
24
  class Credentials:
19
25
  BUCKET_KEY_SECRET: str
@@ -105,7 +111,12 @@ def _init() -> None:
105
111
 
106
112
 
107
113
  def _run_profile(
108
- rclone: Rclone, src_file: str, transfers: int, size: int, log_dir: Path
114
+ rclone: Rclone,
115
+ src_file: str,
116
+ transfers: int,
117
+ size: int,
118
+ log_dir: Path,
119
+ direct_io: bool = True,
109
120
  ) -> None:
110
121
 
111
122
  mount_log = log_dir / f"mount_{SizeSuffix(size)}_threads_{transfers}.log"
@@ -119,7 +130,7 @@ def _run_profile(
119
130
  src=src_file,
120
131
  offset=0,
121
132
  length=size,
122
- direct_io=True,
133
+ direct_io=direct_io,
123
134
  transfers=transfers,
124
135
  mount_log=mount_log,
125
136
  )
@@ -154,7 +165,7 @@ def _run_profile(
154
165
  print(f"Time: {diff:.1f} seconds")
155
166
 
156
167
 
157
- def test_profile_copy_bytes() -> None:
168
+ def test_profile_copy_bytes(args: Args) -> None:
158
169
  print("Running test_profile_copy_bytes")
159
170
  config, creds = _generate_rclone_config()
160
171
  print("Config:")
@@ -179,7 +190,7 @@ def test_profile_copy_bytes() -> None:
179
190
  # sftp mount
180
191
  src_file = "src:aa_misc_data/aa_misc_data/world_lending_library_2024_11.tar.zst"
181
192
 
182
- mount_root_path = Path("logs") / "mount"
193
+ mount_root_path = Path("rclone_logs") / "mount"
183
194
  if mount_root_path.exists():
184
195
  shutil.rmtree(mount_root_path)
185
196
 
@@ -190,15 +201,24 @@ def test_profile_copy_bytes() -> None:
190
201
  src_file=src_file,
191
202
  transfers=transfers,
192
203
  size=size,
204
+ direct_io=args.direct_io,
193
205
  log_dir=mount_root_path,
194
206
  )
195
207
  print("done")
196
208
 
197
209
 
210
+ def _parse_args() -> Args:
211
+ parser = argparse.ArgumentParser(description="Profile copy_bytes")
212
+ parser.add_argument("--direct-io", help="Use direct IO", action="store_true")
213
+ args = parser.parse_args()
214
+ return Args(direct_io=args.direct_io)
215
+
216
+
198
217
  def main() -> None:
199
218
  """Main entry point."""
200
219
  _init()
201
- test_profile_copy_bytes()
220
+ args = _parse_args()
221
+ test_profile_copy_bytes(args)
202
222
 
203
223
 
204
224
  if __name__ == "__main__":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.46
3
+ Version: 1.1.47
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 @@ rclone_api/cmd/copy_large_s3.py,sha256=-rfedi-ZzPUdCSP8ai9LRL0y1xVkvN-viQQlk8HVU
25
25
  rclone_api/cmd/list_files.py,sha256=x8FHODEilwKqwdiU1jdkeJbLwOqUkUQuDWPo2u_zpf0,741
26
26
  rclone_api/experimental/flags.py,sha256=qCVD--fSTmzlk9hloRLr0q9elzAOFzPsvVpKM3aB1Mk,2739
27
27
  rclone_api/experimental/flags_base.py,sha256=ajU_czkTcAxXYU-SlmiCfHY7aCQGHvpCLqJ-Z8uZLk0,2102
28
- rclone_api/profile/mount_copy_bytes.py,sha256=6hJJ7jo8brFzq-t96JCjQeCIYnzYT1Km9vRL1jbUyLo,5897
28
+ rclone_api/profile/mount_copy_bytes.py,sha256=Jc7AKjX37W6S7ramFFKdcA0l6oeuK2mJi00w50rERew,6351
29
29
  rclone_api/s3/api.py,sha256=qxtRDUpHYqJ7StJRtP8U_PbF_BvYRg705568SyvF-R0,3770
30
30
  rclone_api/s3/basic_ops.py,sha256=hK3366xhVEzEcjz9Gk_8lFx6MRceAk72cax6mUrr6ko,2104
31
31
  rclone_api/s3/chunk_file.py,sha256=D6wM9Nuu73LNGC8JCCfevqjF3qdZ21mQxYQClFLZLMU,3726
@@ -33,9 +33,9 @@ rclone_api/s3/chunk_types.py,sha256=LbXayXY1KgVU1LkdbASD_BQ7TpVpwVnzMjtz--8LBaE,
33
33
  rclone_api/s3/create.py,sha256=wgfkapv_j904CfKuWyiBIWJVxfAx_ftemFSUV14aT68,3149
34
34
  rclone_api/s3/types.py,sha256=yBnJ38Tjk6RlydJ-sqZ7DSfyFloy8KDYJ0mv3vlOzLE,1388
35
35
  rclone_api/s3/upload_file_multipart.py,sha256=y9azNAU8QH5Ovwz33V2HZwNmJdlFjJg-jrXLZ1gtMds,10364
36
- rclone_api-1.1.46.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
37
- rclone_api-1.1.46.dist-info/METADATA,sha256=EsjWo8M-ncF3sRre9SnUMVBhFShdVLsFcE9VtAbwLS0,4537
38
- rclone_api-1.1.46.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
39
- rclone_api-1.1.46.dist-info/entry_points.txt,sha256=TV8kwP3FRzYwUEr0RLC7aJh0W03SAefIJNXTJ-FdMIQ,200
40
- rclone_api-1.1.46.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
41
- rclone_api-1.1.46.dist-info/RECORD,,
36
+ rclone_api-1.1.47.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
37
+ rclone_api-1.1.47.dist-info/METADATA,sha256=M-oXvo69uIDQy-0571dGJTfxay9-gTq3x3Q8ZNS2rRo,4537
38
+ rclone_api-1.1.47.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
39
+ rclone_api-1.1.47.dist-info/entry_points.txt,sha256=TV8kwP3FRzYwUEr0RLC7aJh0W03SAefIJNXTJ-FdMIQ,200
40
+ rclone_api-1.1.47.dist-info/top_level.txt,sha256=EvZ7uuruUpe9RiUyEp25d1Keq7PWYNT0O_-mr8FCG5g,11
41
+ rclone_api-1.1.47.dist-info/RECORD,,