-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.py
More file actions
82 lines (65 loc) · 2.61 KB
/
Copy pathutils.py
File metadata and controls
82 lines (65 loc) · 2.61 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from datetime import datetime
import platform
def get_date_and_time():
return datetime.now().strftime("%d.%m.%Y %H:%M:%S")
def get_time():
return datetime.now().strftime("%H:%M:%S")
def get_date():
return datetime.now().strftime("%d_%m_%Y")
def get_int_year():
return int(datetime.now().strftime("%Y"))
def get_int_month():
return int(datetime.now().strftime("%m"))
def format_incomplete_tickets(tickets):
to_return = (f'For year {tickets[0][0][1]}, at month {tickets[0][0][2]}, you have {len(tickets[0])} closed tickets '
f'with unspecified error/resolution codes:\n')
for num, ticket in enumerate(tickets[0]):
to_return += f'• Ticket: {tickets[1][num]}, Rst: {ticket[9]}, day: {ticket[3]}, time: {ticket[4][:5]}\n'
return to_return + '\nDo you want to start the process to fill tickets?'
def get_device_info():
system_info = {
"Operating System": platform.system(),
"OS Release": platform.release(),
"Architecture": platform.architecture(),
"Machine": platform.machine(),
"Processor": platform.processor(),
}
return system_info
import os
from datetime import datetime
class Logger:
def __init__(self, filename: str = "", file_extension: str = ".log", logging_level: int = 0):
self.filename = os.path.join("logs/", filename + get_date() + "_" + file_extension)
self.logging_level = logging_level
def log(self, message: str, level: int = 0) -> None:
"""
:param message: Message that will be bounded
:param level: Eiter <= 0 for DEBUG, 1 for INFO, 2 for WARNING, 3 for ERROR, 4 for CRITICAL
:return:
"""
level_msg = ''
if level <= 0:
level_msg = 'DEBUG'
elif level == 1:
level_msg = 'INFO'
elif level == 2:
level_msg = 'WARNING'
elif level == 3:
level_msg = 'ERROR'
elif level >= 4:
level_msg = 'CRITICAL'
if level >= self.logging_level:
with open(self.filename, "a", encoding='utf-8') as file:
print(f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] - {level_msg} - {message}")
file.write(
f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] - {level_msg} - {message}\n"
)
# Example usage:
if __name__ == "__main__":
logger = Logger(filename="logs")
logger.log("Test debugging message", 0)
logger.log("Test info message", 1)
logger.log("Test warning message", 2)
logger.log("Test error message", 3)
logger.log("Test critical message", 4)
print(logger.filename)