megfile 3.1.1__py3-none-any.whl → 3.1.2__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.
- docs/conf.py +2 -4
- megfile/__init__.py +394 -203
- megfile/cli.py +258 -238
- megfile/config.py +25 -21
- megfile/errors.py +124 -114
- megfile/fs.py +174 -140
- megfile/fs_path.py +462 -354
- megfile/hdfs.py +133 -101
- megfile/hdfs_path.py +290 -236
- megfile/http.py +15 -14
- megfile/http_path.py +111 -107
- megfile/interfaces.py +70 -65
- megfile/lib/base_prefetch_reader.py +84 -65
- megfile/lib/combine_reader.py +12 -12
- megfile/lib/compare.py +17 -13
- megfile/lib/compat.py +1 -5
- megfile/lib/fnmatch.py +29 -30
- megfile/lib/glob.py +46 -54
- megfile/lib/hdfs_prefetch_reader.py +40 -25
- megfile/lib/hdfs_tools.py +1 -3
- megfile/lib/http_prefetch_reader.py +69 -46
- megfile/lib/joinpath.py +5 -5
- megfile/lib/lazy_handler.py +7 -3
- megfile/lib/s3_buffered_writer.py +58 -51
- megfile/lib/s3_cached_handler.py +13 -14
- megfile/lib/s3_limited_seekable_writer.py +37 -28
- megfile/lib/s3_memory_handler.py +34 -30
- megfile/lib/s3_pipe_handler.py +24 -25
- megfile/lib/s3_prefetch_reader.py +71 -52
- megfile/lib/s3_share_cache_reader.py +37 -24
- megfile/lib/shadow_handler.py +7 -3
- megfile/lib/stdio_handler.py +9 -8
- megfile/lib/url.py +3 -3
- megfile/pathlike.py +259 -228
- megfile/s3.py +220 -153
- megfile/s3_path.py +977 -802
- megfile/sftp.py +190 -156
- megfile/sftp_path.py +540 -450
- megfile/smart.py +397 -330
- megfile/smart_path.py +100 -105
- megfile/stdio.py +10 -9
- megfile/stdio_path.py +32 -35
- megfile/utils/__init__.py +73 -54
- megfile/utils/mutex.py +11 -14
- megfile/version.py +1 -1
- {megfile-3.1.1.dist-info → megfile-3.1.2.dist-info}/METADATA +5 -8
- megfile-3.1.2.dist-info/RECORD +55 -0
- {megfile-3.1.1.dist-info → megfile-3.1.2.dist-info}/WHEEL +1 -1
- scripts/convert_results_to_sarif.py +45 -78
- scripts/generate_file.py +140 -64
- megfile-3.1.1.dist-info/RECORD +0 -55
- {megfile-3.1.1.dist-info → megfile-3.1.2.dist-info}/LICENSE +0 -0
- {megfile-3.1.1.dist-info → megfile-3.1.2.dist-info}/LICENSE.pyre +0 -0
- {megfile-3.1.1.dist-info → megfile-3.1.2.dist-info}/entry_points.txt +0 -0
- {megfile-3.1.1.dist-info → megfile-3.1.2.dist-info}/top_level.txt +0 -0
scripts/generate_file.py
CHANGED
|
@@ -3,26 +3,86 @@ import re
|
|
|
3
3
|
|
|
4
4
|
ALL_IGNORE_FUNC_LIST = dict(
|
|
5
5
|
s3=[
|
|
6
|
-
"open",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
6
|
+
"open",
|
|
7
|
+
"readlink",
|
|
8
|
+
"iterdir",
|
|
9
|
+
"is_mount",
|
|
10
|
+
"is_socket",
|
|
11
|
+
"is_fifo",
|
|
12
|
+
"is_block_device",
|
|
13
|
+
"is_char_device",
|
|
14
|
+
"owner",
|
|
15
|
+
"absolute",
|
|
16
|
+
"rmdir",
|
|
17
|
+
"glob",
|
|
18
|
+
"iglob",
|
|
19
|
+
"glob_stat",
|
|
20
|
+
"rename",
|
|
21
|
+
"cwd",
|
|
22
|
+
"mkdir",
|
|
23
|
+
"parts",
|
|
24
|
+
"path_without_protocol",
|
|
25
|
+
"path_with_protocol",
|
|
10
26
|
],
|
|
11
27
|
fs=[
|
|
12
|
-
"open",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
28
|
+
"open",
|
|
29
|
+
"from_uri",
|
|
30
|
+
"path_with_protocol",
|
|
31
|
+
"joinpath",
|
|
32
|
+
"readlink",
|
|
33
|
+
"iterdir",
|
|
34
|
+
"chmod",
|
|
35
|
+
"group",
|
|
36
|
+
"is_socket",
|
|
37
|
+
"is_fifo",
|
|
38
|
+
"is_block_device",
|
|
39
|
+
"is_char_device",
|
|
40
|
+
"rmdir",
|
|
41
|
+
"owner",
|
|
42
|
+
"absolute",
|
|
43
|
+
"resolve",
|
|
44
|
+
"cwd",
|
|
45
|
+
"home",
|
|
46
|
+
"glob",
|
|
47
|
+
"iglob",
|
|
48
|
+
"glob_stat",
|
|
49
|
+
"rename",
|
|
50
|
+
"parts",
|
|
51
|
+
"root",
|
|
52
|
+
"anchor",
|
|
53
|
+
"drive",
|
|
54
|
+
"replace",
|
|
55
|
+
"hardlink_to",
|
|
56
|
+
"mkdir",
|
|
57
|
+
"utime",
|
|
17
58
|
],
|
|
18
59
|
http=["open"],
|
|
19
60
|
sftp=[
|
|
20
|
-
"path_without_protocol",
|
|
21
|
-
"
|
|
61
|
+
"path_without_protocol",
|
|
62
|
+
"expanduser",
|
|
63
|
+
"iterdir",
|
|
64
|
+
"readlink",
|
|
65
|
+
"cwd",
|
|
66
|
+
"glob",
|
|
67
|
+
"iglob",
|
|
68
|
+
"glob_stat",
|
|
69
|
+
"resolve",
|
|
70
|
+
"relpath",
|
|
71
|
+
"utime",
|
|
72
|
+
"parts",
|
|
22
73
|
],
|
|
23
74
|
hdfs=[
|
|
24
|
-
"iterdir",
|
|
25
|
-
"
|
|
75
|
+
"iterdir",
|
|
76
|
+
"absolute",
|
|
77
|
+
"rmdir",
|
|
78
|
+
"glob",
|
|
79
|
+
"iglob",
|
|
80
|
+
"glob_stat",
|
|
81
|
+
"rename",
|
|
82
|
+
"mkdir",
|
|
83
|
+
"path_without_protocol",
|
|
84
|
+
"path_with_protocol",
|
|
85
|
+
"parts",
|
|
26
86
|
],
|
|
27
87
|
)
|
|
28
88
|
|
|
@@ -35,15 +95,14 @@ ALL_IMPORT_LINES = dict(
|
|
|
35
95
|
"from typing import BinaryIO, Callable, Iterator, List, Optional, Tuple",
|
|
36
96
|
"from megfile.interfaces import Access, FileEntry, PathLike, StatResult",
|
|
37
97
|
],
|
|
38
|
-
http=[
|
|
39
|
-
"from megfile.interfaces import PathLike, StatResult",
|
|
40
|
-
],
|
|
98
|
+
http=["from megfile.interfaces import PathLike, StatResult"],
|
|
41
99
|
stdio=[
|
|
42
100
|
"from typing import IO, AnyStr, Optional",
|
|
43
101
|
"from megfile.interfaces import PathLike",
|
|
44
102
|
],
|
|
45
103
|
sftp=[
|
|
46
|
-
"from typing import IO, AnyStr, BinaryIO, Iterator, List, Tuple,
|
|
104
|
+
"from typing import IO, AnyStr, BinaryIO, Iterator, List, Tuple, "
|
|
105
|
+
"Callable, Optional",
|
|
47
106
|
"from megfile.interfaces import FileEntry, PathLike, StatResult",
|
|
48
107
|
],
|
|
49
108
|
hdfs=[
|
|
@@ -101,17 +160,18 @@ ALL_FUNC_NAME_MAPPING = dict(
|
|
|
101
160
|
save="save_as",
|
|
102
161
|
),
|
|
103
162
|
)
|
|
104
|
-
PARAMETER_PATTERN = re.compile(r
|
|
163
|
+
PARAMETER_PATTERN = re.compile(r"\[[^:]*\]")
|
|
105
164
|
|
|
106
165
|
|
|
107
166
|
def get_class_name(current_file_type: str):
|
|
108
|
-
if current_file_type ==
|
|
109
|
-
return
|
|
110
|
-
return f
|
|
167
|
+
if current_file_type == "fs":
|
|
168
|
+
return "FSPath"
|
|
169
|
+
return f"{current_file_type.capitalize()}Path"
|
|
111
170
|
|
|
112
171
|
|
|
113
172
|
def insert_class_method_lines(
|
|
114
|
-
|
|
173
|
+
func_params: list, annotation_lines: list, current_file_type: str
|
|
174
|
+
):
|
|
115
175
|
ignore_func_list = ALL_IGNORE_FUNC_LIST.get(current_file_type, [])
|
|
116
176
|
func_name_mapping = ALL_FUNC_NAME_MAPPING.get(current_file_type, {})
|
|
117
177
|
|
|
@@ -120,8 +180,8 @@ def insert_class_method_lines(
|
|
|
120
180
|
func_first_line = "".join(func_params)
|
|
121
181
|
path_param_name = "path"
|
|
122
182
|
current_params_line = PARAMETER_PATTERN.sub(
|
|
123
|
-
"",
|
|
124
|
-
|
|
183
|
+
"", func_first_line.split("(", maxsplit=1)[1].split(")", maxsplit=1)[0]
|
|
184
|
+
)
|
|
125
185
|
current_params = []
|
|
126
186
|
kwargs_mode = False
|
|
127
187
|
for params_words in current_params_line.split(","):
|
|
@@ -131,88 +191,101 @@ def insert_class_method_lines(
|
|
|
131
191
|
param = params_words.split("=", maxsplit=1)[0].strip()
|
|
132
192
|
else:
|
|
133
193
|
param = params_words.strip()
|
|
134
|
-
if param ==
|
|
194
|
+
if param == "*":
|
|
135
195
|
kwargs_mode = True
|
|
136
196
|
continue
|
|
137
197
|
|
|
138
|
-
if param and param !=
|
|
139
|
-
if
|
|
198
|
+
if param and param != "**kwargs":
|
|
199
|
+
if "dst" in param:
|
|
140
200
|
path_param_name = param.replace("dst", "src")
|
|
141
201
|
if kwargs_mode:
|
|
142
202
|
param = f"{param}={param}"
|
|
143
203
|
current_params.append(param)
|
|
144
|
-
func_name =
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
204
|
+
func_name = (
|
|
205
|
+
func_first_line.strip()
|
|
206
|
+
.split("def ", maxsplit=1)[1]
|
|
207
|
+
.split("(", maxsplit=1)[0]
|
|
208
|
+
)
|
|
209
|
+
if func_name == "save":
|
|
148
210
|
func_first_line = func_first_line.replace(
|
|
149
|
-
"self", f"{path_param_name}: PathLike"
|
|
211
|
+
"self", f"{path_param_name}: PathLike"
|
|
212
|
+
)
|
|
150
213
|
special_order_params = [
|
|
151
|
-
param.strip()
|
|
152
|
-
|
|
214
|
+
param.strip()
|
|
215
|
+
for param in func_first_line.split("(", 1)[1]
|
|
216
|
+
.split(")", 1)[0]
|
|
217
|
+
.split(",")
|
|
153
218
|
]
|
|
154
|
-
special_order_params[0], special_order_params[
|
|
155
|
-
|
|
219
|
+
special_order_params[0], special_order_params[1] = (
|
|
220
|
+
special_order_params[1],
|
|
221
|
+
special_order_params[0],
|
|
222
|
+
)
|
|
156
223
|
func_first_line = "".join(
|
|
157
224
|
[
|
|
158
|
-
func_first_line.split(
|
|
159
|
-
"
|
|
160
|
-
|
|
161
|
-
|
|
225
|
+
func_first_line.split("(", 1)[0],
|
|
226
|
+
"(",
|
|
227
|
+
", ".join(special_order_params),
|
|
228
|
+
")",
|
|
229
|
+
func_first_line.split(")", 1)[1],
|
|
230
|
+
]
|
|
231
|
+
)
|
|
162
232
|
else:
|
|
163
233
|
func_first_line = func_first_line.replace(
|
|
164
|
-
"self", f"{path_param_name}: PathLike"
|
|
234
|
+
"self", f"{path_param_name}: PathLike"
|
|
235
|
+
)
|
|
165
236
|
|
|
166
237
|
if not func_name.startswith("_") and func_name not in ignore_func_list:
|
|
167
|
-
real_func_name =
|
|
238
|
+
real_func_name = (
|
|
239
|
+
f"{current_file_type}_{func_name_mapping.get(func_name, func_name)}"
|
|
240
|
+
)
|
|
168
241
|
func_content_lines.append(
|
|
169
242
|
func_first_line.replace(func_name, real_func_name).replace(
|
|
170
|
-
|
|
243
|
+
", **kwargs", ""
|
|
244
|
+
)
|
|
245
|
+
)
|
|
171
246
|
|
|
172
247
|
insert_log = False
|
|
173
248
|
for annotation_line in annotation_lines:
|
|
174
|
-
if insert_log is False and annotation_line.strip().startswith(
|
|
175
|
-
":"):
|
|
249
|
+
if insert_log is False and annotation_line.strip().startswith(":"):
|
|
176
250
|
func_content_lines.append(
|
|
177
|
-
f" :param {path_param_name}: Given path"
|
|
251
|
+
f" :param {path_param_name}: Given path"
|
|
252
|
+
)
|
|
178
253
|
insert_log = True
|
|
179
254
|
func_content_lines.append(annotation_line)
|
|
180
255
|
|
|
181
256
|
class_name = get_class_name(current_file_type)
|
|
182
|
-
if class_name ==
|
|
257
|
+
if class_name == "StdioPath":
|
|
183
258
|
func_content_lines.append(
|
|
184
|
-
f" return {class_name}({path_param_name}).{func_name}({', '.join(current_params[1:])}) # pyre-ignore[6]\n\n"
|
|
259
|
+
f" return {class_name}({path_param_name}).{func_name}({', '.join(current_params[1:])}) # pyre-ignore[6]\n\n" # noqa: E501
|
|
185
260
|
)
|
|
186
261
|
else:
|
|
187
262
|
func_content_lines.append(
|
|
188
|
-
f" return {class_name}({path_param_name}).{func_name}({', '.join(current_params[1:])})\n\n"
|
|
263
|
+
f" return {class_name}({path_param_name}).{func_name}({', '.join(current_params[1:])})\n\n" # noqa: E501
|
|
189
264
|
)
|
|
190
265
|
return real_func_name, func_content_lines
|
|
191
266
|
|
|
192
267
|
|
|
193
268
|
def get_methods_from_path_file(current_file_type: str):
|
|
194
|
-
all_func_list = importlib.import_module(
|
|
195
|
-
f'megfile.{current_file_type}_path').__all__
|
|
269
|
+
all_func_list = importlib.import_module(f"megfile.{current_file_type}_path").__all__
|
|
196
270
|
methods_content = []
|
|
197
271
|
import_lines = ALL_IMPORT_LINES.get(current_file_type, [])
|
|
198
272
|
import_lines.append(
|
|
199
273
|
f"from megfile.{current_file_type}_path import {', '.join(all_func_list)}"
|
|
200
274
|
)
|
|
201
|
-
with open(f
|
|
275
|
+
with open(f"megfile/{current_file_type}_path.py", "r") as f:
|
|
202
276
|
class_start = False
|
|
203
277
|
func_start = False
|
|
204
278
|
func_params = []
|
|
205
279
|
annotation_lines = []
|
|
206
280
|
annotation_start = False
|
|
207
281
|
for line in f.readlines():
|
|
208
|
-
if line.strip().startswith(
|
|
209
|
-
f'class {get_class_name(current_file_type)}('):
|
|
282
|
+
if line.strip().startswith(f"class {get_class_name(current_file_type)}("):
|
|
210
283
|
class_start = True
|
|
211
284
|
elif class_start is True:
|
|
212
285
|
if line.strip() and not line.startswith(" " * 4):
|
|
213
286
|
break
|
|
214
287
|
elif func_start is True:
|
|
215
|
-
if line.rsplit(
|
|
288
|
+
if line.rsplit("#", maxsplit=1)[0].strip().endswith(":"):
|
|
216
289
|
func_start = False
|
|
217
290
|
func_params.append(line.strip())
|
|
218
291
|
elif "'''" in line or '"""' in line:
|
|
@@ -222,12 +295,13 @@ def get_methods_from_path_file(current_file_type: str):
|
|
|
222
295
|
elif annotation_start is True:
|
|
223
296
|
annotation_lines.append(line[4:].rstrip())
|
|
224
297
|
elif line.startswith(" def"):
|
|
225
|
-
if line.rsplit(
|
|
298
|
+
if line.rsplit("#", maxsplit=1)[0].strip().endswith(":"):
|
|
226
299
|
func_start = False
|
|
227
300
|
else:
|
|
228
301
|
func_start = True
|
|
229
302
|
func_name, func_content_lines = insert_class_method_lines(
|
|
230
|
-
func_params, annotation_lines, current_file_type
|
|
303
|
+
func_params, annotation_lines, current_file_type
|
|
304
|
+
)
|
|
231
305
|
if func_name:
|
|
232
306
|
all_func_list.append(func_name)
|
|
233
307
|
if func_content_lines:
|
|
@@ -235,7 +309,8 @@ def get_methods_from_path_file(current_file_type: str):
|
|
|
235
309
|
func_params = [line.strip()]
|
|
236
310
|
annotation_lines = []
|
|
237
311
|
func_name, func_content_lines = insert_class_method_lines(
|
|
238
|
-
func_params, annotation_lines, current_file_type
|
|
312
|
+
func_params, annotation_lines, current_file_type
|
|
313
|
+
)
|
|
239
314
|
if func_name:
|
|
240
315
|
all_func_list.append(func_name)
|
|
241
316
|
if func_content_lines:
|
|
@@ -246,23 +321,24 @@ def get_methods_from_path_file(current_file_type: str):
|
|
|
246
321
|
def generate_file(current_file_type: str):
|
|
247
322
|
current_class_name = get_class_name(current_file_type)
|
|
248
323
|
import_lines, all_func_list, methods_content = get_methods_from_path_file(
|
|
249
|
-
current_file_type
|
|
250
|
-
|
|
324
|
+
current_file_type
|
|
325
|
+
)
|
|
326
|
+
with open(f"megfile/{current_file_type}.py", "w") as f:
|
|
251
327
|
for line in import_lines:
|
|
252
|
-
f.write(
|
|
328
|
+
f.write("\n")
|
|
253
329
|
f.write(line)
|
|
254
330
|
|
|
255
331
|
f.write("\n\n__all__ = [\n")
|
|
256
332
|
for func_name in all_func_list:
|
|
257
|
-
if func_name != current_class_name and func_name !=
|
|
333
|
+
if func_name != current_class_name and func_name != "HttpsPath":
|
|
258
334
|
f.write(f" '{func_name}',\n")
|
|
259
335
|
f.write("]\n\n")
|
|
260
336
|
|
|
261
337
|
for line in methods_content:
|
|
262
|
-
f.write(
|
|
338
|
+
f.write("\n")
|
|
263
339
|
f.write(line)
|
|
264
340
|
|
|
265
341
|
|
|
266
342
|
if __name__ == "__main__":
|
|
267
|
-
for t in [
|
|
343
|
+
for t in ["s3", "fs", "http", "stdio", "sftp", "hdfs"]:
|
|
268
344
|
generate_file(t)
|
megfile-3.1.1.dist-info/RECORD
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
docs/conf.py,sha256=oypYf1FkqYtFfjhWlDtX3y2UCfplHqwm6kYloW2XuYM,2454
|
|
2
|
-
megfile/__init__.py,sha256=MT8SIXsmEUvtSpd1GHv6e3fFfR1gRnlEdkNNqv3gngo,6534
|
|
3
|
-
megfile/cli.py,sha256=PITdtme1mW6Dr0VRvMaeLy4t8AexAlpLVF5H6VVGTNk,22411
|
|
4
|
-
megfile/config.py,sha256=8rbkxa8kcbxHUMzvds3gdN9sxhyCvLsW9Sf4DfS9Ih4,2307
|
|
5
|
-
megfile/errors.py,sha256=w3f-B3-epz-d9sP8KmWn1ytdmD97q7wABsCOOuQe0no,13625
|
|
6
|
-
megfile/fs.py,sha256=Hij6xE273rU5YRxECT1hklVYZgaiuzK0wZcKHs9NDWE,11879
|
|
7
|
-
megfile/fs_path.py,sha256=A3WwSi34ddhyiPcT0sBIUMrliFPWF_4GHktPuS33GWg,40921
|
|
8
|
-
megfile/hdfs.py,sha256=824qbjkRcOS5uqDqOD54-kEC0P7CRHxSOFuVHsMquAw,9174
|
|
9
|
-
megfile/hdfs_path.py,sha256=SbZPAiSK55S3dkcrZDxHjA6F6_Nt8aCL_rXpVrm2Uuw,27085
|
|
10
|
-
megfile/http.py,sha256=ZN5U_otx7H-WqX4Fn04T0zAwxCqQq017u0-7j4cD5Sg,2021
|
|
11
|
-
megfile/http_path.py,sha256=mnoN5hHJro23cLny1r5ePMJ28r2gnBrzqA0S-grpwrE,16215
|
|
12
|
-
megfile/interfaces.py,sha256=PLNv0hDBTrTFJGTwT5mbDKYTsCjNryrHHMJCYhL9Wp0,8522
|
|
13
|
-
megfile/pathlike.py,sha256=FjY88X1IA4-ue5jcekwlIO740D0oT_wNo95y3eo6vNA,30685
|
|
14
|
-
megfile/s3.py,sha256=JfYWFHNJrBAoncB5RPDMyhjrIwVYGZ2lh8prGst-L_M,12874
|
|
15
|
-
megfile/s3_path.py,sha256=UV-rOV-j1uWhTjsClqNmYbqpPrrBd0CZldo717pd63o,93107
|
|
16
|
-
megfile/sftp.py,sha256=cXS1LZh4gtJgDCmR9p2_uM1wlycV34ebuTJGaceatVE,12984
|
|
17
|
-
megfile/sftp_path.py,sha256=QcV4DK192c5GL2CeK07JgpELpBXpGVAKswQ1JtZ2DZQ,53336
|
|
18
|
-
megfile/smart.py,sha256=jOTBBbDKpLuRbob9-Omj_GRsk66Vpql7LPJX4xCm5fs,36024
|
|
19
|
-
megfile/smart_path.py,sha256=OMTM9JeowIa6j2Yn8XEH-HS4gWD3gBkKgSj8GBD08Bk,6734
|
|
20
|
-
megfile/stdio.py,sha256=rsBMGr4LaFYOQjL-6k4GE_WznLsa8cPzMhSVNEEDh5o,671
|
|
21
|
-
megfile/stdio_path.py,sha256=2n3gTEN1-7d8cCRsQJ7zj8rdP1VPlgr78oSClYndxXI,2806
|
|
22
|
-
megfile/version.py,sha256=_DO4G2zWDcG7gSWIzdTDMHAx4XjUc5Vq4U89Oj2xeWY,19
|
|
23
|
-
megfile/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
megfile/lib/base_prefetch_reader.py,sha256=Di2xCkf-Pci7BvJs5sosymKT8sJfdgYY8fTHIk_LEBc,13471
|
|
25
|
-
megfile/lib/combine_reader.py,sha256=ePUMwDxdL1oPqgZLAj7RvHeJ5NROcjPWNwLMuiv7Z5M,4641
|
|
26
|
-
megfile/lib/compare.py,sha256=yG2fZve_gMg32rQVCdwixBdqgYRsjn-24TqhALQaOrA,2233
|
|
27
|
-
megfile/lib/compat.py,sha256=0wt3_atcYhSLCxUj_WuDlQa3E1atjZfwJQ12thiFh5Q,234
|
|
28
|
-
megfile/lib/fnmatch.py,sha256=qtlTdOoowgUvQuZNDrzvEl7hA4Sdtifa9eXd47LEJZY,4082
|
|
29
|
-
megfile/lib/glob.py,sha256=imsjV_lgCLteEacrId0uJU7w77A0tpRrAcKtWfUrzDU,10149
|
|
30
|
-
megfile/lib/hdfs_prefetch_reader.py,sha256=ytp0td83M8NheMCBtQjrQpvGaBvConpRqgd8xSqdi-E,2092
|
|
31
|
-
megfile/lib/hdfs_tools.py,sha256=t4GeoBxO0HPahIQDrsK17WBsLZtcfAaNwWfappzZ5q8,442
|
|
32
|
-
megfile/lib/http_prefetch_reader.py,sha256=Owc_eaDGS752QnzatOnZ3zp19DuuftxWPS8kTXidi1A,4359
|
|
33
|
-
megfile/lib/joinpath.py,sha256=D4Px6-lnDDpYs1LMUHkTIGqMPJQ0oCBGfTzREs373iU,929
|
|
34
|
-
megfile/lib/lazy_handler.py,sha256=V_dQR2ac7LXJ6u__R5_VauvmxqQVdjydNIKwJjYUBeQ,1862
|
|
35
|
-
megfile/lib/s3_buffered_writer.py,sha256=UW_C6dtvzIEydapsHnPYWMn2xmz0Ah0jD7hrdUxqcoM,7127
|
|
36
|
-
megfile/lib/s3_cached_handler.py,sha256=1laCBQxG_PMp7Tk9_wY9XXDF-Ev4EREt1LPojetiA6A,1530
|
|
37
|
-
megfile/lib/s3_limited_seekable_writer.py,sha256=6Hzy8sdiRDQMQ0os175weu5vYUfcEP-L4ztknCQETf8,6318
|
|
38
|
-
megfile/lib/s3_memory_handler.py,sha256=02yivynhVWLKWtdf0_3N1-ipYOSGgFEmutYkpXzrXUU,4225
|
|
39
|
-
megfile/lib/s3_pipe_handler.py,sha256=9dcW0WKmjETLjK-m6QW4EvuvaEjCqUI9BavOeWmuB6Y,3705
|
|
40
|
-
megfile/lib/s3_prefetch_reader.py,sha256=ofzSn_MC6INAZY83oA3Dq1QNI0SS2b-NP6Ov8ajjLos,4283
|
|
41
|
-
megfile/lib/s3_share_cache_reader.py,sha256=AFwpyFQq4y-PXTnbFoXxLMQOJFIcJXUgVTrDMCuAMUg,3629
|
|
42
|
-
megfile/lib/shadow_handler.py,sha256=Kb4CcfoMBdp822A5teSjNVG_6waAy5AUUHrW1qaRqEI,2722
|
|
43
|
-
megfile/lib/stdio_handler.py,sha256=t2hxBE1vo25-kS6QQRMiDEG95rdMVx2z6wTnwuN6NUc,1968
|
|
44
|
-
megfile/lib/url.py,sha256=VbQLjo0s4AaV0iSk66BcjI68aUTcN9zBZ5x6-cM4Qvs,103
|
|
45
|
-
megfile/utils/__init__.py,sha256=5gf_KfoqCvX6sVNLLZYUsGJL_zzesuQPj0znGC-HG8I,8946
|
|
46
|
-
megfile/utils/mutex.py,sha256=-2KH3bNovKRd9zvsXq9n3bWM7rQdoG9hO7tUPxVG_Po,2538
|
|
47
|
-
scripts/convert_results_to_sarif.py,sha256=SI0vw4TrpJ9gAZ2pH8ywu-lXMYeZ-TYW2dLEHw5Rx84,4218
|
|
48
|
-
scripts/generate_file.py,sha256=OLAH9iZKQlHTjuV8zpC6exCXLS6bNdu4Njoc3IKO9Sc,10173
|
|
49
|
-
megfile-3.1.1.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
50
|
-
megfile-3.1.1.dist-info/LICENSE.pyre,sha256=9lf5nT-5ZH25JijpYAequ0bl8E8z5JmZB1qrjiUMp84,1080
|
|
51
|
-
megfile-3.1.1.dist-info/METADATA,sha256=honpFcwkQykVvHhlx_PQlEfOh6TgkPgk2FbdspMjc64,9106
|
|
52
|
-
megfile-3.1.1.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
|
|
53
|
-
megfile-3.1.1.dist-info/entry_points.txt,sha256=M6ZWSSv5_5_QtIpZafy3vq7WuOJ_5dSGQQnEZbByt2Q,49
|
|
54
|
-
megfile-3.1.1.dist-info/top_level.txt,sha256=oTnYXo1Z3V61qSWAKtnY9RkDgRSHvfRN38FQae6E0W0,50
|
|
55
|
-
megfile-3.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|