Files
EmojiTextGenerator/main.py
2025-12-20 22:43:17 +08:00

47 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
gen = Generator(api_key)
def main():
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
if check_emoji(emoji_uuid):
try:
description = gen.process_local_image(str(image_path))
except AttributeError:
logger.warning("AI模型未响应请检查是否欠费")
break
update_description(emoji_uuid, description)
if description:
logger.info(f"图片 {emoji_file} 的描述词生成完毕,序号:{i + 1} 其 description 为: {description}")
else:
logger.warning(f"图片 {emoji_file} 的描述词生成失败!序号:{i + 1}")
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
exit()