添加获取图片url等信息

This commit is contained in:
2025-12-14 17:44:16 +08:00
parent 16e3507f7f
commit 2003d81388

View File

@@ -2,15 +2,15 @@ from models.connect_db import connect_db
from models.logger import setup_logger
logger = setup_logger()
connection = connect_db()
def update_description(emoji_uuid: str, description: str) -> bool:
def update_description(emoji_uuid: str, description: str, connection = connect_db()) -> bool:
"""
更新表情包描述词
Args:
emoji_uuid: 表情包UUID
description: 新的描述词
connection: 数据库socket
Returns:
成功返回True失败返回False
@@ -40,12 +40,13 @@ def update_description(emoji_uuid: str, description: str) -> bool:
return False
def check_emoji(uuid: str) -> bool:
def check_emoji(uuid: str, connection = connect_db()) -> bool:
"""
检查UUID是否存在于emoji表中
Args:
uuid: 要检查的UUID字符串
connection: 数据库socket
Returns:
uuid 在数据库中存在则为 True否则 False
@@ -58,10 +59,10 @@ def check_emoji(uuid: str) -> bool:
try:
with connection.cursor() as cursor:
# 执行查询
sql = "SELECT 1 FROM emoji WHERE uuid = %s LIMIT 1"
sql = "SELECT approved FROM approved WHERE uuid = %s LIMIT 1"
cursor.execute(sql, (uuid,))
# 如果查询到结果则返回True
# 如果查询到结果为1
result = cursor.fetchone()
return result is not None
@@ -69,6 +70,41 @@ def check_emoji(uuid: str) -> bool:
logger.error(f"检查UUID失败: {uuid}, 错误: {e}")
return False
def get_emoji_content(uuid: str, content_index: str = 'url', connection = connect_db()) -> tuple | None:
"""
获取图片信息,检查图片在 approved 库中检索 approved 是否为 1为 1 则返回获取到的索引内容
Args:
uuid: emoji的UUID
content_index: 内容检索索引
connection: 数据库socket
Returns:
content: 获取到的内容,比如 url
"""
# 参数验证
if not uuid or not isinstance(uuid, str):
logger.warning(f"无效的UUID参数: {uuid}")
return None
try:
with connection.cursor() as cursor:
sql1 = "SELECT approved FROM approved WHERE uuid = %s LIMIT 1"
cursor.execute(sql1, (uuid,))
result = cursor.fetchone()
if result['approved'] == 1:
sql2 = f"SELECT {content_index} FROM emoji WHERE uuid = %s LIMIT 1"
cursor.execute(sql2, (uuid,))
contents = cursor.fetchone()
return contents[content_index]
return None
except Exception as e:
logger.error(f"获取失败: {uuid}, 错误: {e}")
return None
if __name__ == "__main__":
record = check_emoji("ffe1663c-44e1-4719-a5ba-01485f70a87e")
print(record)