Initial commit with .gitignore

This commit is contained in:
2026-02-04 14:36:13 +08:00
commit 82b5fbf875
9 changed files with 1704 additions and 0 deletions

59
query_status.py Normal file
View File

@@ -0,0 +1,59 @@
# -*- coding: utf-8 -*-
"""
查询图片相似度状态脚本
"""
import configparser
import pymysql
def main():
config = configparser.ConfigParser()
config.read('config.ini', encoding='utf-8')
db_conn = pymysql.connect(
host=config.get('database', 'host'),
port=config.getint('database', 'port'),
user=config.get('database', 'user'),
password=config.get('database', 'password'),
database=config.get('database', 'database'),
charset=config.get('database', 'charset'),
cursorclass=pymysql.cursors.DictCursor
)
with db_conn.cursor() as cursor:
sql = """
SELECT id, image_name, status, similarity,
similarity_image_tags_id, `similarity score`, blocking_reason
FROM ai_image_tags
ORDER BY id
"""
cursor.execute(sql)
rows = cursor.fetchall()
db_conn.close()
# 统计
total = len(rows)
draft_count = sum(1 for r in rows if r['status'] == 'draft')
unique_count = sum(1 for r in rows if r['status'] == 'tag_extension')
dup_count = sum(1 for r in rows if r['status'] == 'similarity')
failed_count = sum(1 for r in rows if r['similarity'] == 'recalc')
print("=" * 100)
print(f"{'ID':<8} {'图片名称':<30} {'状态':<15} {'相似性':<8} {'相似ID':<8} {'分数':<8} {'原因'}")
print("=" * 100)
for r in rows:
score = f"{r['similarity score']:.4f}" if r['similarity score'] else "-"
similar_id = r['similarity_image_tags_id'] if r['similarity_image_tags_id'] else "-"
reason = r['blocking_reason'][:20] if r['blocking_reason'] else "-"
print(f"{r['id']:<8} {r['image_name'][:28]:<30} {r['status']:<15} {r['similarity']:<8} {similar_id:<8} {score:<8} {reason}")
print("=" * 100)
print(f"总计: {total} | 待处理: {draft_count} | 不重复: {unique_count} | 重复: {dup_count} | 失败: {failed_count}")
print("=" * 100)
if __name__ == '__main__':
main()