dcicutils 8.8.4.1b31__py3-none-any.whl → 8.8.4.1b33__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 +3 -3
- dcicutils/tmpfile_utils.py +8 -6
- {dcicutils-8.8.4.1b31.dist-info → dcicutils-8.8.4.1b33.dist-info}/METADATA +1 -1
- {dcicutils-8.8.4.1b31.dist-info → dcicutils-8.8.4.1b33.dist-info}/RECORD +7 -7
- {dcicutils-8.8.4.1b31.dist-info → dcicutils-8.8.4.1b33.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.8.4.1b31.dist-info → dcicutils-8.8.4.1b33.dist-info}/WHEEL +0 -0
- {dcicutils-8.8.4.1b31.dist-info → dcicutils-8.8.4.1b33.dist-info}/entry_points.txt +0 -0
dcicutils/file_utils.py
CHANGED
@@ -14,7 +14,7 @@ HOME_DIRECTORY = str(pathlib.Path().home())
|
|
14
14
|
|
15
15
|
|
16
16
|
def search_for_file(file: str,
|
17
|
-
location: Union[str, Optional[List[str]]] = None,
|
17
|
+
location: Union[str, pathlib.PosixPath, Optional[List[Union[str, pathlib.PosixPath]]]] = None,
|
18
18
|
recursive: bool = False,
|
19
19
|
single: bool = False,
|
20
20
|
order: bool = True) -> Union[List[str], Optional[str]]:
|
@@ -35,7 +35,7 @@ def search_for_file(file: str,
|
|
35
35
|
return None if single is True else []
|
36
36
|
if os.path.isabs(file):
|
37
37
|
if os.path.exists(file):
|
38
|
-
return file if single is True else [file]
|
38
|
+
return str(file) if single is True else [str(file)]
|
39
39
|
return None if single is True else []
|
40
40
|
files_found = []
|
41
41
|
if not location:
|
@@ -53,7 +53,7 @@ def search_for_file(file: str,
|
|
53
53
|
if not (directory := directory.strip()):
|
54
54
|
continue
|
55
55
|
if os.path.isfile(directory := os.path.abspath(os.path.normpath(directory))):
|
56
|
-
#
|
56
|
+
# Actually, allow a file rather then a directory; assume its parent directory was intended.
|
57
57
|
if not (directory := os.path.dirname(directory)):
|
58
58
|
continue
|
59
59
|
if directory not in location_pruned:
|
dcicutils/tmpfile_utils.py
CHANGED
@@ -50,12 +50,6 @@ def remove_temporary_directory(tmp_directory_name: str) -> None:
|
|
50
50
|
"""
|
51
51
|
Removes the given directory, recursively; but ONLY if it is (somewhere) within the system temporary directory.
|
52
52
|
"""
|
53
|
-
def is_temporary_directory(path: str) -> bool:
|
54
|
-
try:
|
55
|
-
tmpdir = tempfile.gettempdir()
|
56
|
-
return os.path.commonpath([path, tmpdir]) == tmpdir and os.path.exists(path) and os.path.isdir(path)
|
57
|
-
except Exception:
|
58
|
-
return False
|
59
53
|
if is_temporary_directory(tmp_directory_name): # Guard against errant deletion.
|
60
54
|
shutil.rmtree(tmp_directory_name)
|
61
55
|
|
@@ -72,3 +66,11 @@ def remove_temporary_file(tmp_file_name: str) -> bool:
|
|
72
66
|
return False
|
73
67
|
except Exception:
|
74
68
|
return False
|
69
|
+
|
70
|
+
|
71
|
+
def is_temporary_directory(path: str) -> bool:
|
72
|
+
try:
|
73
|
+
tmpdir = tempfile.gettempdir()
|
74
|
+
return os.path.commonpath([path, tmpdir]) == tmpdir and os.path.exists(path) and os.path.isdir(path)
|
75
|
+
except Exception:
|
76
|
+
return False
|
@@ -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=zyNdRl1Fu3SrQwjJWaIMvQpi4DRaodNZCX7oTkiPJ-A,10916
|
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=tNfH5JA-OwbQKEvD5HPJ3lcp2TSIZ4rnl__4d4JO8Gw,1583
|
@@ -68,13 +68,13 @@ dcicutils/structured_data.py,sha256=BQuIMv6OPySsn6YxtXE2Er-zLE2QJuCYhEQ3V0u_UXY,
|
|
68
68
|
dcicutils/submitr/progress_constants.py,sha256=5bxyX77ql8qEJearfHEvsvXl7D0GuUODW0T65mbRmnE,2895
|
69
69
|
dcicutils/submitr/ref_lookup_strategy.py,sha256=Js2cVznTmgjciLWBPLCvMiwLIHXjDn3jww-gJPjYuFw,3467
|
70
70
|
dcicutils/task_utils.py,sha256=MF8ujmTD6-O2AC2gRGPHyGdUrVKgtr8epT5XU8WtNjk,8082
|
71
|
-
dcicutils/tmpfile_utils.py,sha256=
|
71
|
+
dcicutils/tmpfile_utils.py,sha256=irmN6Otvtxyum-7qr5h9GIzDs9rtFFyUsGQyqJXd_y4,2997
|
72
72
|
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.1b33.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
77
|
+
dcicutils-8.8.4.1b33.dist-info/METADATA,sha256=e6buUH5SJ9ZKQvhFfn6kQCjq-f3aRjDfBF1DwVPvmbY,3440
|
78
|
+
dcicutils-8.8.4.1b33.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
79
|
+
dcicutils-8.8.4.1b33.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
|
80
|
+
dcicutils-8.8.4.1b33.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|