pull/1319/head
SengokuCola 2025-10-25 16:32:29 +08:00
commit a92e47701e
1 changed files with 25 additions and 0 deletions

View File

@ -44,6 +44,11 @@ class ImageManager:
except Exception as e:
logger.error(f"数据库连接或表创建失败: {e}")
try:
self._cleanup_invalid_descriptions()
except Exception as e:
logger.warning(f"数据库清理失败: {e}")
self._initialized = True
def _ensure_image_dir(self):
@ -92,6 +97,26 @@ class ImageManager:
except Exception as e:
logger.error(f"保存描述到数据库失败 (Peewee): {str(e)}")
@staticmethod
def _cleanup_invalid_descriptions():
"""清理数据库中 description 为空或为 'None' 的记录"""
invalid_values = ["", "None"]
# 清理 Images 表
deleted_images = Images.delete().where(
(Images.description >> None) | (Images.description << invalid_values)
).execute()
# 清理 ImageDescriptions 表
deleted_descriptions = ImageDescriptions.delete().where(
(ImageDescriptions.description >> None) | (ImageDescriptions.description << invalid_values)
).execute()
if deleted_images or deleted_descriptions:
logger.info(f"[清理完成] 删除 Images: {deleted_images} 条, ImageDescriptions: {deleted_descriptions}")
else:
logger.info("[清理完成] 未发现无效描述记录")
async def get_emoji_tag(self, image_base64: str) -> str:
from src.chat.emoji_system.emoji_manager import get_emoji_manager