diff --git a/main.py b/main.py index c831438..feb6184 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,7 @@ -import os from pathlib import Path -from dashscope import MultiModalConversation import dashscope 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.compress_image import compress_image from models.logger import setup_logger @@ -13,30 +11,24 @@ logger = setup_logger() api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" dashscope.api_key = api_key -# root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" -# emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" -root_folder = "G:\\Python\\mcunc\\EmojiTextGenerator\\" -emoji_folder = "G:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" +root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" +emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" emoji = yield_emoji_path(emoji_folder) gen = Generator(api_key) -fp = open("descriptions.txt", "w", encoding="utf-8") - for i 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) - description = gen.process_single_image(str(image_path)) - logger.info(f"图片 {emoji_file} 的描述词生成完毕,序号:{i}, 其 description 为: {description}") - fp.write(f"{emoji_uuid}: {description}\n") + if check_emoji(emoji_uuid): + description = gen.process_single_image(str(image_path)) + update_description(emoji_uuid, description) + logger.info(f"图片 {emoji_file} 的描述词生成完毕,序号:{i}, 其 description 为: {description}") -fp.close() diff --git a/models/emoji_db.py b/models/emoji_db.py index 853321c..1b71f1d 100644 --- a/models/emoji_db.py +++ b/models/emoji_db.py @@ -29,6 +29,7 @@ def update_description(emoji_uuid: str, description: str) -> bool: if affected_rows > 0: logger.info(f"成功更新表情包描述,UUID: {emoji_uuid}") + connection.commit() return True else: logger.warning(f"未找到要更新的表情包,UUID: {emoji_uuid}") diff --git a/test.py b/test.py index a557f83..832dd2d 100644 --- a/test.py +++ b/test.py @@ -1,39 +1,35 @@ -import os from pathlib import Path +import dashscope 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.compress_image import compress_image from models.logger import setup_logger logger = setup_logger() +api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" +dashscope.api_key = api_key + root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" + emoji = yield_emoji_path(emoji_folder) -api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" +gen = Generator(api_key) -def main(): - 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) +fp = open("descriptions.txt", "w", encoding="utf-8") - if check_emoji(emoji_uuid): - description = gen.process_single_image(str(image_path)) - update_description(emoji_uuid, description) - logger.info(f"图片 {emoji_file} 的描述词生成完毕, 其 description 为: {description}") - else: - logger.error(f"图片 {emoji_uuid} 不在数据库中!") +for i 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 + 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__": - main() +fp.close()