Added docstrings.

This commit is contained in:
The Wobbler 2025-01-13 18:15:00 +01:00
parent adce0f3812
commit 8e1b4ade13

View file

@ -18,18 +18,39 @@ _msg_types = { # message types with colors
class Log:
"""
Using this class, you can easily write to logfiles.
"""
def __init__(
self, log_path: str = None,
self,
log_path: str = None,
console_out: bool = True,
console_colored: bool = True,
file_colored: bool = True
):
"""
:param log_path: The path to the log file. E.g. "~/cool_project/crashlog.txt"
:param console_out: Specifies whether the written messages should be also printed to the console.
:param console_colored: Specifies whether the messages should be printed in color. (e.g. error messages will be
colored red)
:param file_colored: Specifies whether the logfile should also contain color codes.
"""
self.log_path = log_path
self.console_out = console_out
self.console_colored = console_colored
self.file_colored = file_colored
def write(self, msg: str, msg_type: str = "info", prefix: str = ""):
"""
Writes a message to the logfile.
:param msg: The message to be written.
:param msg_type: The type of the message. (e.g. "info", "error")
:param prefix: An optional prefix that gets added at the beginning of the message.
"""
logfile_msg = self.format_msg(msg, msg_type, self.file_colored, prefix) + "\n"
if self.console_out:
@ -55,6 +76,12 @@ class Log:
return formatted_msg
def read(self):
"""
Reads the content of the logfile.
:return: The content of the logfile as a string.
"""
if self.log_path is not None:
log_file = open(self.log_path, "r")
log_content = log_file.read()
@ -65,6 +92,10 @@ class Log:
raise FileNotFoundError("You didn't specify a log path at the log instance definition.")
def clear(self):
"""
Completely clears the logfile.
"""
logfile = open(self.log_path, "w")
logfile.write("")
logfile.close()