38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
import asyncio
|
|
import sys
|
|
from pathlib import Path
|
|
sys.path.insert(0, 'engine')
|
|
|
|
from registry import SpriteRegistry
|
|
from ranker import ScoringPipeline
|
|
|
|
async def test():
|
|
reg = SpriteRegistry(db_path=Path('spritegen.db'))
|
|
ranker = ScoringPipeline(registry=reg, raw_dir=Path('raw'))
|
|
|
|
sprite_id = 'units/bowmen_dwarves_f'
|
|
sprite = reg.get_sprite(sprite_id)
|
|
|
|
# Get the first variant to score
|
|
variants = reg.conn.execute(
|
|
"SELECT * FROM variants WHERE sprite_id=? AND job_status='completed' "
|
|
"AND raw_path IS NOT NULL AND (rating IS NULL OR rating != -1) "
|
|
"AND COALESCE(review_tier, 0) = ?",
|
|
(sprite_id, 0),
|
|
).fetchall()
|
|
|
|
if not variants:
|
|
print("No variants to score")
|
|
return
|
|
|
|
print(f"Scoring variant {variants[0]['id']}...")
|
|
try:
|
|
result = await ranker.score_variant_at_tier(dict(variants[0]), dict(sprite), 0)
|
|
print(f"Score result: {result}")
|
|
except Exception as e:
|
|
print(f"Error: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
asyncio.run(test())
|