dcicutils 8.8.4.1b8__py3-none-any.whl → 8.8.4.1b9__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.
- dcicutils/file_utils.py +16 -0
- {dcicutils-8.8.4.1b8.dist-info → dcicutils-8.8.4.1b9.dist-info}/METADATA +1 -1
- {dcicutils-8.8.4.1b8.dist-info → dcicutils-8.8.4.1b9.dist-info}/RECORD +6 -6
- {dcicutils-8.8.4.1b8.dist-info → dcicutils-8.8.4.1b9.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.8.4.1b8.dist-info → dcicutils-8.8.4.1b9.dist-info}/WHEEL +0 -0
- {dcicutils-8.8.4.1b8.dist-info → dcicutils-8.8.4.1b9.dist-info}/entry_points.txt +0 -0
dcicutils/file_utils.py
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
import glob
|
2
2
|
import os
|
3
3
|
import pathlib
|
4
|
+
import random
|
5
|
+
import string
|
4
6
|
from typing import List, Optional, Union
|
7
|
+
from dcicutils.tmpfile_utils import create_temporary_file_name
|
5
8
|
|
6
9
|
|
7
10
|
def search_for_file(file: str,
|
@@ -96,3 +99,16 @@ def are_files_equal(filea: str, fileb: str) -> bool:
|
|
96
99
|
return True
|
97
100
|
except Exception:
|
98
101
|
return False
|
102
|
+
|
103
|
+
|
104
|
+
def create_random_file(file: Optional[str] = None,
|
105
|
+
prefix: Optional[str] = None, suffix: Optional[str] = None,
|
106
|
+
nbytes: int = 1024, binary: bool = False) -> str:
|
107
|
+
if not file:
|
108
|
+
file = create_temporary_file_name(prefix=prefix, suffix=suffix)
|
109
|
+
with open(file, "wb" if binary is True else "w") as f:
|
110
|
+
if binary is True:
|
111
|
+
f.write(os.urandom(nbytes))
|
112
|
+
else:
|
113
|
+
f.write(''.join(random.choices(string.ascii_letters + string.digits, k=nbytes)))
|
114
|
+
return file
|
@@ -28,7 +28,7 @@ dcicutils/es_utils.py,sha256=ZksLh5ei7kRUfiFltk8sd2ZSfh15twbstrMzBr8HNw4,7541
|
|
28
28
|
dcicutils/exceptions.py,sha256=4giQGtpak-omQv7BP6Ckeu91XK5fnDosC8gfdmN_ccA,9931
|
29
29
|
dcicutils/ff_mocks.py,sha256=6RKS4eUiu_Wl8yP_8V0CaV75w4ZdWxdCuL1CVlnMrek,36918
|
30
30
|
dcicutils/ff_utils.py,sha256=oIhuZPnGtfwj6bWyCc1u23JbMB_6InPp01ZqUOljd8M,73123
|
31
|
-
dcicutils/file_utils.py,sha256=
|
31
|
+
dcicutils/file_utils.py,sha256=dV2Iz180-JADOBad2UWxr-DgQLRZXIzASMgeCllFODU,4896
|
32
32
|
dcicutils/function_cache_decorator.py,sha256=XMyiEGODVr2WoAQ68vcoX_9_Xb9p8pZXdXl7keU8i2g,10026
|
33
33
|
dcicutils/glacier_utils.py,sha256=Q4CVXsZCbP-SoZIsZ5NMcawDfelOLzbQnIlQn-GdlTo,34149
|
34
34
|
dcicutils/http_utils.py,sha256=RB0x9hRMZM9Xd1x00c5J0iUzUdYzIQR0XKFiQ94HWO0,807
|
@@ -73,8 +73,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
|
|
73
73
|
dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
|
74
74
|
dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
|
75
75
|
dcicutils/zip_utils.py,sha256=_Y9EmL3D2dUZhxucxHvrtmmlbZmK4FpSsHEb7rGSJLU,3265
|
76
|
-
dcicutils-8.8.4.
|
77
|
-
dcicutils-8.8.4.
|
78
|
-
dcicutils-8.8.4.
|
79
|
-
dcicutils-8.8.4.
|
80
|
-
dcicutils-8.8.4.
|
76
|
+
dcicutils-8.8.4.1b9.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
77
|
+
dcicutils-8.8.4.1b9.dist-info/METADATA,sha256=yo_JoulN0vXbXDxvUWgAR8YXS2EuErrd5ITyEFcrEmM,3396
|
78
|
+
dcicutils-8.8.4.1b9.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
79
|
+
dcicutils-8.8.4.1b9.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
|
80
|
+
dcicutils-8.8.4.1b9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|