-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutils_file.py
41 lines (34 loc) · 1.28 KB
/
utils_file.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import logging
from pathlib import Path
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
def delete_file(file_full_path, log_prefix=""):
log_prefix_local = log_prefix + "delete_file: "
try:
p = Path(file_full_path)
p.unlink(missing_ok=True)
except Exception as e:
logger.error(log_prefix_local + f"failed to delete {file_full_path}")
def save_response_content_to_disk(response, dest_local_file, log_prefix=""):
log_prefix_local = log_prefix + "save_response_content_to_disk: "
if isinstance(response.content, bytes):
content_to_use = response.content
elif isinstance(response.content, str):
content_to_use = response.content.encode("utf-8")
else:
logger.error(
log_prefix_local
+ f"unexpected type of response.content: {type(response.content)}"
)
return False
try:
with open(dest_local_file, "wb") as fout:
fout.write(content_to_use)
return True
except Exception as exc:
short_exc_name = exc.__class__.__name__
exc_name = exc.__class__.__module__ + "." + short_exc_name
exc_msg = str(exc)
exc_slug = exc_name + ": " + exc_msg
logger.error(log_prefix_local + exc_slug)
return False