36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
import paramiko
|
|
import base64
|
|
|
|
def run():
|
|
client = paramiko.SSHClient()
|
|
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
client.connect('192.168.192.96', username='jetson', password='jetson', timeout=10)
|
|
|
|
code = """
|
|
import sqlite3
|
|
|
|
conn = sqlite3.connect('/opt/jetson-counter/jetson_counter.db')
|
|
conn.row_factory = sqlite3.Row
|
|
cur = conn.cursor()
|
|
|
|
for dt in ['2026-08-21', '2026-08-22']:
|
|
print(f'=== BATCHES FOR {dt} ===')
|
|
rows = cur.execute('SELECT * FROM batches WHERE counting_date = ? ORDER BY batch_number', (dt,)).fetchall()
|
|
for r in rows:
|
|
d = dict(r)
|
|
print(f"Batch {d['batch_number']:02d}: count={d['count']}, start={d['start_time']}, end={d['end_time']}")
|
|
|
|
print(f'=== DAILY SUMMARY FOR {dt} ===')
|
|
rows = cur.execute('SELECT * FROM daily_summaries WHERE counting_date = ?', (dt,)).fetchall()
|
|
for r in rows:
|
|
print(dict(r))
|
|
"""
|
|
b64 = base64.b64encode(code.encode()).decode()
|
|
stdin, stdout, stderr = client.exec_command(f"python3 -c \"import base64; exec(base64.b64decode('{b64}'))\"")
|
|
print(stdout.read().decode())
|
|
print("ERR:", stderr.read().decode())
|
|
client.close()
|
|
|
|
if __name__ == '__main__':
|
|
run()
|