#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
在正确的author数据库中查询Artemis_II_十天绕月的author字段
"""

import sqlite3
import os


def get_author_from_correct_db(adid):
    """
    在正确的author数据库中查询author字段
    """
    # 正确的author数据库路径
    db_path = "\\\\ll\\d\\wxvddata\\dpd.db"
    
    print(f"Author数据库路径: {db_path}")
    print(f"文件是否存在: {os.path.exists(db_path)}")
    print(f"文件大小: {os.path.getsize(db_path) / (1024 * 1024):.2f} MB")
    
    try:
        # 连接数据库
        conn = sqlite3.connect(db_path)
        cur = conn.cursor()
        
        # 检查ads表结构
        cur.execute("PRAGMA table_info(ads)")
        columns = cur.fetchall()
        print("\nads表结构:")
        for i, column in enumerate(columns):
            print(f"{i}: {column[1]} - {column[2]}")
        
        # 尝试通过adid查询
        cur.execute("SELECT oid, name, author FROM ads WHERE adid=?", (adid,))
        row = cur.fetchone()
        if row:
            print(f"\n通过adid查询: oid={row[0]}, name={row[1][:60]}..., author={row[2]}")
            return row[2]
        else:
            print("\n通过adid查询未找到数据")
        
        # 尝试通过oid查询
        cur.execute("SELECT oid, name, author FROM ads WHERE oid=?", (adid,))
        row = cur.fetchone()
        if row:
            print(f"\n通过oid查询: oid={row[0]}, name={row[1][:60]}..., author={row[2]}")
            return row[2]
        else:
            print("\n通过oid查询未找到数据")
        
        # 尝试通过name模糊匹配
        cur.execute("SELECT oid, name, author FROM ads WHERE name LIKE '%Artemis%' OR name LIKE '%阿尔忒弥斯%' LIMIT 5")
        rows = cur.fetchall()
        print(f"\n通过name模糊匹配找到 {len(rows)} 条记录:")
        for row in rows:
            print(f"oid={row[0]}, name={row[1][:60]}..., author={row[2]}")
        
        conn.close()
    except Exception as e:
        print(f"错误: {e}")
    
    return ""


if __name__ == "__main__":
    # 查询adid=8404的author
    author = get_author_from_correct_db(8404)
    print(f"\n最终author: {author}")
