23 lines
989 B
Python
23 lines
989 B
Python
import sqlite3
|
|
import datetime
|
|
|
|
conn = sqlite3.connect('/home/maxi/Projekt/grimhold.waiswuaschd.de/data/grimhold.db')
|
|
conn.row_factory = sqlite3.Row
|
|
cur = conn.cursor()
|
|
|
|
print("=== USERS ===")
|
|
cur.execute('SELECT id, username, fortress_name, gold, ore, energy, camp_level, last_tick_at FROM users')
|
|
for r in cur.fetchall():
|
|
t_str = datetime.datetime.fromtimestamp(r['last_tick_at']).strftime('%Y-%m-%d %H:%M:%S') if r['last_tick_at'] else 'none'
|
|
print(f"ID {r['id']}: {r['username']} ({r['fortress_name']}) - Lvl {r['camp_level']} - G:{r['gold']:.0f} O:{r['ore']:.0f} E:{r['energy']:.0f} - Last: {t_str}")
|
|
|
|
print("\n=== ARMY ===")
|
|
cur.execute('SELECT * FROM user_army ORDER BY user_id, unit_type')
|
|
for r in cur.fetchall():
|
|
print(f"User {r['user_id']}: {r['unit_type']} -> pool: {r['pool_count']}, def: {r['defense_count']}")
|
|
|
|
print("\n=== SABOTAGE REPORTS ===")
|
|
cur.execute('SELECT * FROM sabotage_reports ORDER BY id DESC LIMIT 5')
|
|
for r in cur.fetchall():
|
|
print(dict(r))
|