重命名表情包和图像模型中的哈希字段,统一为 emoji_hash 和 image_description_hash,以提高代码一致性
This commit is contained in:
@@ -197,7 +197,7 @@ class MaiEmoji:
|
|||||||
|
|
||||||
# 2. 删除数据库记录
|
# 2. 删除数据库记录
|
||||||
try:
|
try:
|
||||||
will_delete_emoji = Emoji.get(Emoji.hash == self.hash)
|
will_delete_emoji = Emoji.get(Emoji.emoji_hash == self.hash)
|
||||||
result = will_delete_emoji.delete_instance() # Returns the number of rows deleted.
|
result = will_delete_emoji.delete_instance() # Returns the number of rows deleted.
|
||||||
except Emoji.DoesNotExist:
|
except Emoji.DoesNotExist:
|
||||||
logger.warning(f"[删除] 数据库中未找到哈希值为 {self.hash} 的表情包记录。")
|
logger.warning(f"[删除] 数据库中未找到哈希值为 {self.hash} 的表情包记录。")
|
||||||
@@ -260,7 +260,7 @@ def _to_emoji_objects(data):
|
|||||||
try:
|
try:
|
||||||
emoji = MaiEmoji(full_path=full_path)
|
emoji = MaiEmoji(full_path=full_path)
|
||||||
|
|
||||||
emoji.hash = emoji_data.hash
|
emoji.hash = emoji_data.emoji_hash
|
||||||
if not emoji.hash:
|
if not emoji.hash:
|
||||||
logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}")
|
logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}")
|
||||||
load_errors += 1
|
load_errors += 1
|
||||||
@@ -405,7 +405,7 @@ class EmojiManager:
|
|||||||
def record_usage(self, emoji_hash: str):
|
def record_usage(self, emoji_hash: str):
|
||||||
"""记录表情使用次数"""
|
"""记录表情使用次数"""
|
||||||
try:
|
try:
|
||||||
emoji_update = Emoji.get(Emoji.hash == emoji_hash)
|
emoji_update = Emoji.get(Emoji.emoji_hash == emoji_hash)
|
||||||
emoji_update.usage_count += 1
|
emoji_update.usage_count += 1
|
||||||
emoji_update.last_used_time = time.time() # Update last used time
|
emoji_update.last_used_time = time.time() # Update last used time
|
||||||
emoji_update.save() # Persist changes to DB
|
emoji_update.save() # Persist changes to DB
|
||||||
@@ -475,7 +475,7 @@ class EmojiManager:
|
|||||||
selected_emoji, similarity, matched_emotion = random.choice(top_emojis) # 把匹配的 emotion 也拿出来喵~
|
selected_emoji, similarity, matched_emotion = random.choice(top_emojis) # 把匹配的 emotion 也拿出来喵~
|
||||||
|
|
||||||
# 更新使用次数
|
# 更新使用次数
|
||||||
self.record_usage(selected_emoji.hash)
|
self.record_usage(selected_emoji.emoji_hash)
|
||||||
|
|
||||||
_time_end = time.time()
|
_time_end = time.time()
|
||||||
|
|
||||||
@@ -671,7 +671,7 @@ class EmojiManager:
|
|||||||
self._ensure_db()
|
self._ensure_db()
|
||||||
|
|
||||||
if emoji_hash:
|
if emoji_hash:
|
||||||
query = Emoji.select().where(Emoji.hash == emoji_hash)
|
query = Emoji.select().where(Emoji.emoji_hash == emoji_hash)
|
||||||
else:
|
else:
|
||||||
logger.warning(
|
logger.warning(
|
||||||
"[查询] 未提供 hash,将尝试加载所有表情包,建议使用 get_all_emoji_from_db 更新管理器状态。"
|
"[查询] 未提供 hash,将尝试加载所有表情包,建议使用 get_all_emoji_from_db 更新管理器状态。"
|
||||||
@@ -804,7 +804,7 @@ class EmojiManager:
|
|||||||
|
|
||||||
# 删除选定的表情包
|
# 删除选定的表情包
|
||||||
logger.info(f"[决策] 删除表情包: {emoji_to_delete.description}")
|
logger.info(f"[决策] 删除表情包: {emoji_to_delete.description}")
|
||||||
delete_success = await self.delete_emoji(emoji_to_delete.hash)
|
delete_success = await self.delete_emoji(emoji_to_delete.emoji_hash)
|
||||||
|
|
||||||
if delete_success:
|
if delete_success:
|
||||||
# 修复:等待异步注册完成
|
# 修复:等待异步注册完成
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class ImageManager:
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
record = ImageDescriptions.get_or_none(
|
record = ImageDescriptions.get_or_none(
|
||||||
(ImageDescriptions.hash == image_hash) & (ImageDescriptions.type == description_type)
|
(ImageDescriptions.image_description_hash == image_hash) & (ImageDescriptions.type == description_type)
|
||||||
)
|
)
|
||||||
return record.description if record else None
|
return record.description if record else None
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -141,7 +141,7 @@ class ImageManager:
|
|||||||
|
|
||||||
# 保存到数据库 (Images表)
|
# 保存到数据库 (Images表)
|
||||||
try:
|
try:
|
||||||
img_obj = Images.get((Images.hash == image_hash) & (Images.type == "emoji"))
|
img_obj = Images.get((Images.emoji_hash == image_hash) & (Images.type == "emoji"))
|
||||||
img_obj.path = file_path
|
img_obj.path = file_path
|
||||||
img_obj.description = description
|
img_obj.description = description
|
||||||
img_obj.timestamp = current_timestamp
|
img_obj.timestamp = current_timestamp
|
||||||
@@ -214,7 +214,7 @@ class ImageManager:
|
|||||||
|
|
||||||
# 保存到数据库 (Images表)
|
# 保存到数据库 (Images表)
|
||||||
try:
|
try:
|
||||||
img_obj = Images.get((Images.hash == image_hash) & (Images.type == "image"))
|
img_obj = Images.get((Images.emoji_hash == image_hash) & (Images.type == "image"))
|
||||||
img_obj.path = file_path
|
img_obj.path = file_path
|
||||||
img_obj.description = description
|
img_obj.description = description
|
||||||
img_obj.timestamp = current_timestamp
|
img_obj.timestamp = current_timestamp
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ class Emoji(BaseModel):
|
|||||||
|
|
||||||
full_path = TextField(unique=True, index=True) # 文件的完整路径 (包括文件名)
|
full_path = TextField(unique=True, index=True) # 文件的完整路径 (包括文件名)
|
||||||
format = TextField() # 图片格式
|
format = TextField() # 图片格式
|
||||||
hash = TextField(index=True) # 表情包的哈希值
|
emoji_hash = TextField(index=True) # 表情包的哈希值
|
||||||
description = TextField() # 表情包的描述
|
description = TextField() # 表情包的描述
|
||||||
query_count = IntegerField(default=0) # 查询次数(用于统计表情包被查询描述的次数)
|
query_count = IntegerField(default=0) # 查询次数(用于统计表情包被查询描述的次数)
|
||||||
is_registered = BooleanField(default=False) # 是否已注册
|
is_registered = BooleanField(default=False) # 是否已注册
|
||||||
@@ -160,7 +160,7 @@ class Images(BaseModel):
|
|||||||
用于存储图像信息的模型。
|
用于存储图像信息的模型。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
hash = TextField(index=True) # 图像的哈希值
|
emoji_hash = TextField(index=True) # 图像的哈希值
|
||||||
description = TextField(null=True) # 图像的描述
|
description = TextField(null=True) # 图像的描述
|
||||||
path = TextField(unique=True) # 图像文件的路径
|
path = TextField(unique=True) # 图像文件的路径
|
||||||
timestamp = FloatField() # 时间戳
|
timestamp = FloatField() # 时间戳
|
||||||
@@ -177,7 +177,7 @@ class ImageDescriptions(BaseModel):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
type = TextField() # 类型,例如 "emoji"
|
type = TextField() # 类型,例如 "emoji"
|
||||||
hash = TextField(index=True) # 图像的哈希值
|
image_description_hash = TextField(index=True) # 图像的哈希值
|
||||||
description = TextField() # 图像的描述
|
description = TextField() # 图像的描述
|
||||||
timestamp = FloatField() # 时间戳
|
timestamp = FloatField() # 时间戳
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user