feat: Implement new database management and scraping utilities, and update application version to 13.0.0.

This commit is contained in:
kiyreload27
2025-12-31 19:50:14 +00:00
parent d7d1318a55
commit a2ac99e8b6
22 changed files with 812 additions and 32 deletions

62
test_gold_scrape.py Normal file
View File

@@ -0,0 +1,62 @@
import sqlite3
import os
import sys
# Add parent dir to path
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from scraper.gametora_scraper import scrape_support_card, sync_playwright
from db.db_queries import get_conn
def test_golden_perk():
print("Testing Golden Perk Scraping for Fine Motion...")
url = "https://gametora.com/umamusume/supports/30010-fine-motion"
conn = get_conn()
cur = conn.cursor()
# 1. Clean previous data for this specific card
cur.execute("SELECT card_id FROM support_cards WHERE gametora_url = ?", (url,))
row = cur.fetchone()
if row:
card_id = row[0]
cur.execute("DELETE FROM event_skills WHERE event_id IN (SELECT event_id FROM support_events WHERE card_id = ?)", (card_id,))
cur.execute("DELETE FROM support_events WHERE card_id = ?", (card_id,))
conn.commit()
# 2. Scrape
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
context = browser.new_context()
page = context.new_page()
success = scrape_support_card(page, url, conn)
print(f"Scrape success: {success}")
browser.close()
# 3. Verify results
cur.execute("""
SELECT se.event_name, es.skill_name, es.is_gold
FROM support_events se
JOIN event_skills es ON se.event_id = es.event_id
JOIN support_cards sc ON se.card_id = sc.card_id
WHERE sc.gametora_url = ?
""", (url,))
skills = cur.fetchall()
print(f"\nSkills found for Kitasan Black:")
found_gold = False
for event_name, skill_name, is_gold in skills:
status = "✨ GOLD" if is_gold else "Normal"
print(f"- [{status}] {event_name}: {skill_name}")
if is_gold: found_gold = True
if found_gold:
print("\n✅ SUCCESS: Golden Perk identified correctly!")
else:
print("\n❌ FAILURE: No golden perks found.")
conn.close()
if __name__ == "__main__":
test_golden_perk()