123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- """
- utils/__init__.py
- 该模块初始化文件,导入了多个辅助工具类,并定义了一系列便捷函数,用于日志记录、配置管理、文件操作、字符串处理和邮件发送等功能。
- """
- import json
- from utils.ai_helper import AiHelper
- from utils.config_helper import ConfigHelper
- from utils.email_helper import EmailHelper
- from utils.file_helper import FileHelper
- from utils.logger_helper import LoggerHelper
- from utils.string_helper import StringHelper
- def get_logger():
- """
- 获取日志记录器实例。
- 该函数通过调用LoggerHelper类的静态方法get_logger()来获取一个日志记录器实例。
- 主要用于需要记录日志的位置,通过该函数获取日志记录器实例,然后进行日志记录。
- 这样做可以保持日志记录的一致性和集中管理。
- :return: Logger实例,用于记录日志。
- """
- return LoggerHelper.get_logger()
- def clean_log_file(day: int):
- """
- 清理指定天数之前的日志文件。
- :param day: 整数,表示清理多少天前的日志文件。
- """
- LoggerHelper.clean_log_file(day)
- def get_config():
- """
- 获取配置管理器实例。
- 该函数返回一个ConfigHelper实例,用于读取和管理应用程序的配置信息。
- :return: ConfigHelper实例,用于配置管理。
- """
- return ConfigHelper()
- def reload_config():
- """
- 重新加载配置文件。
- 该函数会重新加载配置文件中的内容,适用于配置文件发生更改后需要重新加载的情况。
- """
- get_config().load_config()
- def get_config_value(key: str, default: str = None):
- """
- 获取配置项的值。
- :param key: 字符串,配置项的键。
- :param default: 字符串,默认值(可选)。
- :return: 配置项的值,如果不存在则返回默认值。
- """
- return get_config().get(key, default)
- def get_config_int(key: str, default: int = None):
- """
- 获取配置项的整数值。
- :param key: 字符串,配置项的键。
- :param default: 整数,默认值(可选)。
- :return: 配置项的整数值,如果不存在则返回默认值。
- """
- return get_config().get_int(key, default)
- def get_config_bool(key: str):
- """
- 获取配置项的布尔值。
- :param key: 字符串,配置项的键。
- :return: 配置项的布尔值。
- """
- return get_config().get_bool(key)
- def download_remote_file(file_url: str, file_name: str) -> str:
- """
- 下载远程文件并保存到本地。
- :param file_url: 字符串,远程文件的URL。
- :param file_name: 字符串,保存到本地的文件名。
- :return: 字符串,下载后的文件路径。
- """
- return FileHelper().download_remote_file(file_url, file_name)
- def clean_attach_file(day: int):
- """
- 清理指定天数之前的附件文件。
- :param day: 整数,表示清理多少天前的附件文件。
- """
- FileHelper().clean_attach_file(day)
- def save_report_excel(data, file_name: str = None) -> str:
- """
- 保存报表数据到Excel文件。
- :param data: 列表,报表数据。
- :param file_name: 字符串,保存的文件名(可选)。
- :return: 字符串,保存的文件路径。
- """
- return FileHelper().save_report_excel(data, file_name)
- def clean_report_file(day: int):
- """
- 清理指定天数之前的报表文件。
- :param day: 整数,表示清理多少天前的报表文件。
- """
- FileHelper().clean_report_file(day)
- def encode_file(path: str):
- return FileHelper.encode_file(path)
- def to_array(s: str, split: str = ",") -> list[str]:
- """
- 将字符串按指定分隔符拆分为数组。
- :param s: 字符串,待拆分的字符串。
- :param split: 字符串,分隔符。
- :return: 列表,拆分后的数组。
- """
- return StringHelper.to_array(s, split)
- def call_openai(system_prompt: str, user_prompt: str) -> json:
- """
- 调用OpenAI API进行对话。
- :param system_prompt: 字符串,系统提示信息。
- :param user_prompt: 字符串,用户输入的提示信息。
- :return: JSON对象,API返回的结果。
- """
- return AiHelper().call_openai(system_prompt, user_prompt)
- def send_email(
- to_addr: str,
- subject: str,
- body: str,
- body_is_html: bool = True,
- attachment_paths: str = None,
- ) -> bool:
- """
- 发送电子邮件。
- :param to_addr: 字符串,收件人地址。
- :param subject: 字符串,邮件主题。
- :param body: 字符串,邮件正文。
- :param body_is_html: 布尔值,是否为HTML格式,默认为True。
- :param attachment_paths: 字符串,附件路径(可选)。
- :return: 布尔值,表示邮件是否发送成功。
- """
- return EmailHelper().send_email(
- to_addr, subject, body, body_is_html, attachment_paths
- )
|