fractal-server 2.3.8__py3-none-any.whl → 2.3.9__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.
- fractal_server/__init__.py +1 -1
- fractal_server/zip_tools.py +21 -1
- {fractal_server-2.3.8.dist-info → fractal_server-2.3.9.dist-info}/METADATA +1 -1
- {fractal_server-2.3.8.dist-info → fractal_server-2.3.9.dist-info}/RECORD +7 -7
- {fractal_server-2.3.8.dist-info → fractal_server-2.3.9.dist-info}/LICENSE +0 -0
- {fractal_server-2.3.8.dist-info → fractal_server-2.3.9.dist-info}/WHEEL +0 -0
- {fractal_server-2.3.8.dist-info → fractal_server-2.3.9.dist-info}/entry_points.txt +0 -0
fractal_server/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__VERSION__ = "2.3.
|
1
|
+
__VERSION__ = "2.3.9"
|
fractal_server/zip_tools.py
CHANGED
@@ -7,6 +7,10 @@ from typing import TypeVar
|
|
7
7
|
from zipfile import ZIP_DEFLATED
|
8
8
|
from zipfile import ZipFile
|
9
9
|
|
10
|
+
from fractal_server.logger import get_logger
|
11
|
+
|
12
|
+
logger = get_logger("zip_tools")
|
13
|
+
|
10
14
|
T = TypeVar("T", str, BytesIO)
|
11
15
|
THRESHOLD_ZIP_FILE_SIZE_MB = 1.0
|
12
16
|
|
@@ -74,6 +78,10 @@ def _folder_can_be_deleted(folder: str) -> bool:
|
|
74
78
|
# CHECK 1: zip file exists
|
75
79
|
zip_file = f"{folder}.zip"
|
76
80
|
if not os.path.exists(zip_file):
|
81
|
+
logger.info(
|
82
|
+
f"Folder '{folder}' won't be deleted because file '{zip_file}' "
|
83
|
+
"does not exist."
|
84
|
+
)
|
77
85
|
return False
|
78
86
|
|
79
87
|
# CHECK 2: folder and zip file have the same number of files
|
@@ -81,11 +89,21 @@ def _folder_can_be_deleted(folder: str) -> bool:
|
|
81
89
|
with ZipFile(zip_file, "r") as zip_ref:
|
82
90
|
zip_files_count = len(zip_ref.namelist())
|
83
91
|
if folder_files_count != zip_files_count:
|
92
|
+
logger.info(
|
93
|
+
f"Folder '{folder}' won't be deleted because it contains "
|
94
|
+
f"{folder_files_count} files while '{zip_file}' contains "
|
95
|
+
f"{zip_files_count}."
|
96
|
+
)
|
84
97
|
return False
|
85
98
|
|
86
99
|
# CHECK 3: zip file size is >= than `THRESHOLD_ZIP_FILE_SIZE_MB`
|
87
100
|
zip_size = os.path.getsize(zip_file)
|
88
|
-
if zip_size < THRESHOLD_ZIP_FILE_SIZE_MB * 1024
|
101
|
+
if zip_size < THRESHOLD_ZIP_FILE_SIZE_MB * (1024**2):
|
102
|
+
logger.info(
|
103
|
+
f"Folder '{folder}' won't be deleted because '{zip_file}' is too "
|
104
|
+
f"small ({zip_size / (1024**2):.5f} MB, whereas the minimum limit "
|
105
|
+
f"for deletion is {THRESHOLD_ZIP_FILE_SIZE_MB})."
|
106
|
+
)
|
89
107
|
return False
|
90
108
|
|
91
109
|
return True
|
@@ -107,4 +125,6 @@ def _zip_folder_to_file_and_remove(folder: str) -> None:
|
|
107
125
|
_create_zip(folder, f"{folder}_tmp.zip")
|
108
126
|
shutil.move(f"{folder}_tmp.zip", f"{folder}.zip")
|
109
127
|
if _folder_can_be_deleted(folder):
|
128
|
+
logger.info(f"Deleting folder '{folder}'...")
|
110
129
|
shutil.rmtree(folder)
|
130
|
+
logger.info(f"Deletion of folder '{folder}' completed.")
|
@@ -1,4 +1,4 @@
|
|
1
|
-
fractal_server/__init__.py,sha256=
|
1
|
+
fractal_server/__init__.py,sha256=IZCNzAeT1hiPh6fpVTHVwF-NSu-mtsX00Rk32jd8RDM,22
|
2
2
|
fractal_server/__main__.py,sha256=CocbzZooX1UtGqPi55GcHGNxnrJXFg5tUU5b3wyFCyo,4958
|
3
3
|
fractal_server/alembic.ini,sha256=MWwi7GzjzawI9cCAK1LW7NxIBQDUqD12-ptJoq5JpP0,3153
|
4
4
|
fractal_server/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -193,9 +193,9 @@ fractal_server/tasks/v2/templates/_5_pip_show.sh,sha256=GrJ19uHYQxANEy9JaeNJZVTq
|
|
193
193
|
fractal_server/tasks/v2/utils.py,sha256=JOyCacb6MNvrwfLNTyLwcz8y79J29YuJeJ2MK5kqXRM,1657
|
194
194
|
fractal_server/urls.py,sha256=5o_qq7PzKKbwq12NHSQZDmDitn5RAOeQ4xufu-2v9Zk,448
|
195
195
|
fractal_server/utils.py,sha256=b7WwFdcFZ8unyT65mloFToYuEDXpQoHRcmRNqrhd_dQ,2115
|
196
|
-
fractal_server/zip_tools.py,sha256=
|
197
|
-
fractal_server-2.3.
|
198
|
-
fractal_server-2.3.
|
199
|
-
fractal_server-2.3.
|
200
|
-
fractal_server-2.3.
|
201
|
-
fractal_server-2.3.
|
196
|
+
fractal_server/zip_tools.py,sha256=BxW36QGJLTiiabYWJMG56hO_eL_Lhse90nd3VdcNKDM,4411
|
197
|
+
fractal_server-2.3.9.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
|
198
|
+
fractal_server-2.3.9.dist-info/METADATA,sha256=YjDygtiQ8x2fwH8SOonXMzLv3bKWsDO9hg_IpLLe6MI,4628
|
199
|
+
fractal_server-2.3.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
200
|
+
fractal_server-2.3.9.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
|
201
|
+
fractal_server-2.3.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|