Initial clean project import

This commit is contained in:
cat-shark
2026-06-19 18:41:41 +08:00
commit a13b804c7a
1306 changed files with 220568 additions and 0 deletions
+100
View File
@@ -0,0 +1,100 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
初始化预设封面模板到数据库
"""
import json
import sqlite3
import os
import sys
from datetime import datetime
def get_db_path():
"""获取数据库路径"""
# 假设数据库在项目根目录的data文件夹
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
db_path = os.path.join(project_root, 'data', 'aigcpanel.db')
return db_path
def init_templates():
"""初始化预设模板"""
# 读取模板配置
script_dir = os.path.dirname(os.path.abspath(__file__))
template_file = os.path.join(script_dir, 'preset_templates.json')
print(f"Reading templates from: {template_file}")
with open(template_file, 'r', encoding='utf-8') as f:
data = json.load(f)
templates = data['templates']
print(f"Found {len(templates)} preset templates")
# 连接数据库
db_path = get_db_path()
print(f"Connecting to database: {db_path}")
if not os.path.exists(db_path):
print(f"Error: Database not found at {db_path}")
print("Please ensure the application has been run at least once to create the database.")
return False
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# 检查表是否存在
cursor.execute("""
SELECT name FROM sqlite_master
WHERE type='table' AND name='cover_templates'
""")
if not cursor.fetchone():
print("Error: cover_templates table does not exist")
print("Please run the application first to create the database schema.")
conn.close()
return False
# 清空现有预设模板(可选)
print("Clearing existing preset templates...")
cursor.execute("DELETE FROM cover_templates WHERE id LIKE 'preset-%'")
# 插入预设模板
now = int(datetime.now().timestamp() * 1000)
for idx, template in enumerate(templates, 1):
template_id = f"preset-{idx:02d}"
name = template['name']
config_json = json.dumps(template['config'], ensure_ascii=False)
print(f"Inserting template: {name} (ID: {template_id})")
cursor.execute("""
INSERT INTO cover_templates
(id, name, config, thumbnail_path, created_at, updated_at)
VALUES (?, ?, ?, NULL, ?, ?)
""", (template_id, name, config_json, now, now))
conn.commit()
conn.close()
print(f"\n✅ Successfully initialized {len(templates)} preset templates!")
return True
def main():
print("="*60)
print("Preset Cover Templates Initialization")
print("="*60)
print()
try:
success = init_templates()
sys.exit(0 if success else 1)
except Exception as e:
print(f"\n❌ Error: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
if __name__ == '__main__':
main()