添加数据库提交处理

This commit is contained in:
2025-12-13 21:32:29 +08:00
parent 5797e328d0
commit bb50c1e41b
3 changed files with 27 additions and 38 deletions

22
main.py
View File

@@ -1,9 +1,7 @@
import os
from pathlib import Path from pathlib import Path
from dashscope import MultiModalConversation
import dashscope import dashscope
from models.generator import Generator from models.generator import Generator
# from models.emoji_db import check_emoji, update_description from models.emoji_db import check_emoji, update_description
from controllers.localfile_handles import get_emoji_count, yield_emoji_path from controllers.localfile_handles import get_emoji_count, yield_emoji_path
from controllers.compress_image import compress_image from controllers.compress_image import compress_image
from models.logger import setup_logger from models.logger import setup_logger
@@ -13,30 +11,24 @@ logger = setup_logger()
api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" api_key = "sk-213f83213fce4e2ba41b8e67721f19cb"
dashscope.api_key = api_key dashscope.api_key = api_key
# root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\"
# emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\"
root_folder = "G:\\Python\\mcunc\\EmojiTextGenerator\\"
emoji_folder = "G:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\"
emoji = yield_emoji_path(emoji_folder) emoji = yield_emoji_path(emoji_folder)
gen = Generator(api_key) gen = Generator(api_key)
fp = open("descriptions.txt", "w", encoding="utf-8")
for i in range(get_emoji_count(emoji_folder)): for i in range(get_emoji_count(emoji_folder)):
emoji_file = next(emoji) emoji_file = next(emoji)
emoji_uuid = '' emoji_uuid = ''
p = Path(emoji_file) p = Path(emoji_file)
if p.suffix == ".jpg" or p.suffix == ".jpeg": if p.suffix == ".jpg" or p.suffix == ".jpeg":
emoji_uuid = p.stem emoji_uuid = p.stem
# print(emoji_uuid)
image = compress_image(emoji_file) image = compress_image(emoji_file)
image_path = Path(root_folder) / image image_path = Path(root_folder) / image
# print(image_path)
description = gen.process_single_image(str(image_path)) if check_emoji(emoji_uuid):
logger.info(f"图片 {emoji_file} 的描述词生成完毕,序号:{i} 其 description 为: {description}") description = gen.process_single_image(str(image_path))
fp.write(f"{emoji_uuid}: {description}\n") update_description(emoji_uuid, description)
logger.info(f"图片 {emoji_file} 的描述词生成完毕,序号:{i} 其 description 为: {description}")
fp.close()

View File

@@ -29,6 +29,7 @@ def update_description(emoji_uuid: str, description: str) -> bool:
if affected_rows > 0: if affected_rows > 0:
logger.info(f"成功更新表情包描述UUID: {emoji_uuid}") logger.info(f"成功更新表情包描述UUID: {emoji_uuid}")
connection.commit()
return True return True
else: else:
logger.warning(f"未找到要更新的表情包UUID: {emoji_uuid}") logger.warning(f"未找到要更新的表情包UUID: {emoji_uuid}")

42
test.py
View File

@@ -1,39 +1,35 @@
import os
from pathlib import Path from pathlib import Path
import dashscope
from models.generator import Generator from models.generator import Generator
from models.emoji_db import check_emoji, update_description
from controllers.localfile_handles import get_emoji_count, yield_emoji_path from controllers.localfile_handles import get_emoji_count, yield_emoji_path
from controllers.compress_image import compress_image from controllers.compress_image import compress_image
from models.logger import setup_logger from models.logger import setup_logger
logger = setup_logger() logger = setup_logger()
api_key = "sk-213f83213fce4e2ba41b8e67721f19cb"
dashscope.api_key = api_key
root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\"
emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\"
emoji = yield_emoji_path(emoji_folder) emoji = yield_emoji_path(emoji_folder)
api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" gen = Generator(api_key)
def main(): fp = open("descriptions.txt", "w", encoding="utf-8")
gen = Generator(api_key)
for f in range(get_emoji_count(emoji_folder)):
emoji_file = next(emoji)
emoji_uuid = ''
p = Path(emoji_file)
if p.suffix == ".jpg" or p.suffix == ".jpeg":
emoji_uuid = p.stem
# print(emoji_uuid)
image = compress_image(emoji_file)
image_path = Path(root_folder) / image
print(image_path)
if check_emoji(emoji_uuid): for i in range(get_emoji_count(emoji_folder)):
description = gen.process_single_image(str(image_path)) emoji_file = next(emoji)
update_description(emoji_uuid, description) emoji_uuid = ''
logger.info(f"图片 {emoji_file} 的描述词生成完毕, 其 description 为: {description}") p = Path(emoji_file)
else: if p.suffix == ".jpg" or p.suffix == ".jpeg":
logger.error(f"图片 {emoji_uuid} 不在数据库中!") emoji_uuid = p.stem
image = compress_image(emoji_file)
image_path = Path(root_folder) / image
description = gen.process_single_image(str(image_path))
logger.info(f"图片 {emoji_file} 的描述词生成完毕,序号:{i} 其 description 为: {description}")
fp.write(f"{emoji_uuid}: {description}\n")
if __name__ == "__main__": fp.close()
main()