🤖 自动格式化代码 [skip ci]
This commit is contained in:
@@ -1113,7 +1113,7 @@ class LogViewer:
|
|||||||
filename = filedialog.askopenfilename(
|
filename = filedialog.askopenfilename(
|
||||||
title="选择日志文件",
|
title="选择日志文件",
|
||||||
filetypes=[("JSONL日志文件", "*.jsonl"), ("所有文件", "*.*")],
|
filetypes=[("JSONL日志文件", "*.jsonl"), ("所有文件", "*.*")],
|
||||||
initialdir="logs" if Path("logs").exists() else "."
|
initialdir="logs" if Path("logs").exists() else ".",
|
||||||
)
|
)
|
||||||
if filename:
|
if filename:
|
||||||
new_file = Path(filename)
|
new_file = Path(filename)
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class MaiEmoji:
|
|||||||
logger.debug(f"[初始化] 正在解码Base64并计算哈希: {self.filename}")
|
logger.debug(f"[初始化] 正在解码Base64并计算哈希: {self.filename}")
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(image_base64, str):
|
if isinstance(image_base64, str):
|
||||||
image_base64 = image_base64.encode('ascii', errors='ignore').decode('ascii')
|
image_base64 = image_base64.encode("ascii", errors="ignore").decode("ascii")
|
||||||
image_bytes = base64.b64decode(image_base64)
|
image_bytes = base64.b64decode(image_base64)
|
||||||
self.hash = hashlib.md5(image_bytes).hexdigest()
|
self.hash = hashlib.md5(image_bytes).hexdigest()
|
||||||
logger.debug(f"[初始化] 哈希计算成功: {self.hash}")
|
logger.debug(f"[初始化] 哈希计算成功: {self.hash}")
|
||||||
@@ -846,7 +846,7 @@ class EmojiManager:
|
|||||||
# 解码图片并获取格式
|
# 解码图片并获取格式
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(image_base64, str):
|
if isinstance(image_base64, str):
|
||||||
image_base64 = image_base64.encode('ascii', errors='ignore').decode('ascii')
|
image_base64 = image_base64.encode("ascii", errors="ignore").decode("ascii")
|
||||||
image_bytes = base64.b64decode(image_base64)
|
image_bytes = base64.b64decode(image_base64)
|
||||||
image_format = Image.open(io.BytesIO(image_bytes)).format.lower()
|
image_format = Image.open(io.BytesIO(image_bytes)).format.lower()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import List, Dict, Any
|
from typing import List, Dict
|
||||||
from .info_base import InfoBase
|
from .info_base import InfoBase
|
||||||
|
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ class ExpressionSelectionInfo(InfoBase):
|
|||||||
for expr in expressions:
|
for expr in expressions:
|
||||||
situation = expr.get("situation", "")
|
situation = expr.get("situation", "")
|
||||||
style = expr.get("style", "")
|
style = expr.get("style", "")
|
||||||
expr_type = expr.get("type", "")
|
expr.get("type", "")
|
||||||
|
|
||||||
if situation and style:
|
if situation and style:
|
||||||
formatted_expressions.append(f"当{situation}时,使用 {style}")
|
formatted_expressions.append(f"当{situation}时,使用 {style}")
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import traceback
|
import traceback
|
||||||
from typing import List, Optional, Dict, Any, Tuple
|
from typing import List, Optional, Dict, Any, Tuple
|
||||||
|
|
||||||
from src.chat.focus_chat.expressors.exprssion_learner import get_expression_learner
|
|
||||||
from src.chat.message_receive.message import MessageRecv, MessageThinking, MessageSending
|
from src.chat.message_receive.message import MessageRecv, MessageThinking, MessageSending
|
||||||
from src.chat.message_receive.message import Seg # Local import needed after move
|
from src.chat.message_receive.message import Seg # Local import needed after move
|
||||||
from src.chat.message_receive.message import UserInfo
|
from src.chat.message_receive.message import UserInfo
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ class ImageManager:
|
|||||||
# 计算图片哈希
|
# 计算图片哈希
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(image_base64, str):
|
if isinstance(image_base64, str):
|
||||||
image_base64 = image_base64.encode('ascii', errors='ignore').decode('ascii')
|
image_base64 = image_base64.encode("ascii", errors="ignore").decode("ascii")
|
||||||
image_bytes = base64.b64decode(image_base64)
|
image_bytes = base64.b64decode(image_base64)
|
||||||
image_hash = hashlib.md5(image_bytes).hexdigest()
|
image_hash = hashlib.md5(image_bytes).hexdigest()
|
||||||
image_format = Image.open(io.BytesIO(image_bytes)).format.lower()
|
image_format = Image.open(io.BytesIO(image_bytes)).format.lower()
|
||||||
@@ -180,7 +180,7 @@ class ImageManager:
|
|||||||
# 计算图片哈希
|
# 计算图片哈希
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(image_base64, str):
|
if isinstance(image_base64, str):
|
||||||
image_base64 = image_base64.encode('ascii', errors='ignore').decode('ascii')
|
image_base64 = image_base64.encode("ascii", errors="ignore").decode("ascii")
|
||||||
image_bytes = base64.b64decode(image_base64)
|
image_bytes = base64.b64decode(image_base64)
|
||||||
image_hash = hashlib.md5(image_bytes).hexdigest()
|
image_hash = hashlib.md5(image_bytes).hexdigest()
|
||||||
image_format = Image.open(io.BytesIO(image_bytes)).format.lower()
|
image_format = Image.open(io.BytesIO(image_bytes)).format.lower()
|
||||||
@@ -263,7 +263,7 @@ class ImageManager:
|
|||||||
try:
|
try:
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(gif_base64, str):
|
if isinstance(gif_base64, str):
|
||||||
gif_base64 = gif_base64.encode('ascii', errors='ignore').decode('ascii')
|
gif_base64 = gif_base64.encode("ascii", errors="ignore").decode("ascii")
|
||||||
# 解码base64
|
# 解码base64
|
||||||
gif_data = base64.b64decode(gif_base64)
|
gif_data = base64.b64decode(gif_base64)
|
||||||
gif = Image.open(io.BytesIO(gif_data))
|
gif = Image.open(io.BytesIO(gif_data))
|
||||||
@@ -385,7 +385,7 @@ class ImageManager:
|
|||||||
# 计算图片哈希
|
# 计算图片哈希
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(image_base64, str):
|
if isinstance(image_base64, str):
|
||||||
image_base64 = image_base64.encode('ascii', errors='ignore').decode('ascii')
|
image_base64 = image_base64.encode("ascii", errors="ignore").decode("ascii")
|
||||||
image_bytes = base64.b64decode(image_base64)
|
image_bytes = base64.b64decode(image_base64)
|
||||||
image_hash = hashlib.md5(image_bytes).hexdigest()
|
image_hash = hashlib.md5(image_bytes).hexdigest()
|
||||||
|
|
||||||
@@ -458,7 +458,7 @@ class ImageManager:
|
|||||||
# 计算图片哈希
|
# 计算图片哈希
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(image_base64, str):
|
if isinstance(image_base64, str):
|
||||||
image_base64 = image_base64.encode('ascii', errors='ignore').decode('ascii')
|
image_base64 = image_base64.encode("ascii", errors="ignore").decode("ascii")
|
||||||
image_bytes = base64.b64decode(image_base64)
|
image_bytes = base64.b64decode(image_base64)
|
||||||
image_hash = hashlib.md5(image_bytes).hexdigest()
|
image_hash = hashlib.md5(image_bytes).hexdigest()
|
||||||
|
|
||||||
|
|||||||
@@ -61,9 +61,7 @@ def get_console_handler():
|
|||||||
class TimestampedFileHandler(logging.Handler):
|
class TimestampedFileHandler(logging.Handler):
|
||||||
"""基于时间戳的文件处理器,简单的轮转份数限制"""
|
"""基于时间戳的文件处理器,简单的轮转份数限制"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(self, log_dir, max_bytes=2 * 1024 * 1024, backup_count=30, encoding="utf-8"):
|
||||||
self, log_dir, max_bytes=2 * 1024 * 1024, backup_count=30, encoding="utf-8"
|
|
||||||
):
|
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.log_dir = Path(log_dir)
|
self.log_dir = Path(log_dir)
|
||||||
self.log_dir.mkdir(exist_ok=True)
|
self.log_dir.mkdir(exist_ok=True)
|
||||||
@@ -100,8 +98,6 @@ class TimestampedFileHandler(logging.Handler):
|
|||||||
# 创建新文件
|
# 创建新文件
|
||||||
self._init_current_file()
|
self._init_current_file()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def _cleanup_old_files(self):
|
def _cleanup_old_files(self):
|
||||||
"""清理旧的日志文件,保留指定数量"""
|
"""清理旧的日志文件,保留指定数量"""
|
||||||
try:
|
try:
|
||||||
@@ -922,7 +918,9 @@ def force_initialize_logging():
|
|||||||
logger = get_logger("logger")
|
logger = get_logger("logger")
|
||||||
console_level = LOG_CONFIG.get("console_log_level", LOG_CONFIG.get("log_level", "INFO"))
|
console_level = LOG_CONFIG.get("console_log_level", LOG_CONFIG.get("log_level", "INFO"))
|
||||||
file_level = LOG_CONFIG.get("file_log_level", LOG_CONFIG.get("log_level", "INFO"))
|
file_level = LOG_CONFIG.get("file_log_level", LOG_CONFIG.get("log_level", "INFO"))
|
||||||
logger.info(f"日志系统已强制重新初始化,控制台级别: {console_level},文件级别: {file_level},轮转份数: 30个文件,所有logger格式已统一")
|
logger.info(
|
||||||
|
f"日志系统已强制重新初始化,控制台级别: {console_level},文件级别: {file_level},轮转份数: 30个文件,所有logger格式已统一"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def show_module_colors():
|
def show_module_colors():
|
||||||
|
|||||||
@@ -838,7 +838,7 @@ def compress_base64_image_by_scale(base64_data: str, target_size: int = 0.8 * 10
|
|||||||
# 将base64转换为字节数据
|
# 将base64转换为字节数据
|
||||||
# 确保base64字符串只包含ASCII字符
|
# 确保base64字符串只包含ASCII字符
|
||||||
if isinstance(base64_data, str):
|
if isinstance(base64_data, str):
|
||||||
base64_data = base64_data.encode('ascii', errors='ignore').decode('ascii')
|
base64_data = base64_data.encode("ascii", errors="ignore").decode("ascii")
|
||||||
image_data = base64.b64decode(base64_data)
|
image_data = base64.b64decode(base64_data)
|
||||||
|
|
||||||
# 如果已经小于目标大小,直接返回原图
|
# 如果已经小于目标大小,直接返回原图
|
||||||
|
|||||||
Reference in New Issue
Block a user