24 lines
917 B
Python
Executable File
24 lines
917 B
Python
Executable File
#!/usr/bin/env python3
|
|
import json
|
|
import sqlite3
|
|
from pathlib import Path
|
|
|
|
BASE = Path(__file__).resolve().parent
|
|
DB = BASE / 'data' / 'domainhunter.db'
|
|
|
|
con = sqlite3.connect(DB)
|
|
cur = con.cursor()
|
|
run_id = cur.execute("SELECT value FROM metadata WHERE key='latest_run_id'").fetchone()
|
|
run_id = run_id[0] if run_id else ''
|
|
scanned = cur.execute("SELECT value FROM metadata WHERE key='latest_scanned_at'").fetchone()
|
|
scanned = scanned[0] if scanned else ''
|
|
rows = cur.execute("SELECT domain,tld,score,status,keywords_json FROM domains WHERE run_id=? ORDER BY score DESC,domain ASC", (run_id,)).fetchall()
|
|
items=[]
|
|
for d,tld,score,status,kw in rows:
|
|
try:
|
|
kws=json.loads(kw or '[]')
|
|
except Exception:
|
|
kws=[]
|
|
items.append({"domain":d,"tld":tld,"score":score,"status":status,"keywords":kws})
|
|
print(json.dumps({"runId":run_id,"scannedAt":scanned,"items":items}, ensure_ascii=False, indent=2))
|