#!/usr/bin/env pypy3
import asyncio
import datetime
import sys, os
import pathlib

from utils import *
import communication
import admin_server
import data_utils

async def main():
    s = await communication.SSHRunSocket().connect('ssh jr@hluk.fnuk.eu /mnt/jr/prog/run_py admin_server.py')
    c = admin_server.AdminServer(s)
    for dt in await c.list_realtime_data(datetime.datetime(2023, 1, 1, 0, 0), datetime.datetime(2100, 1, 1, 0, 0)):
        path = "data/realtime/"+dt_to_path(dt)
        if not (os.path.isdir(path) or os.path.isfile(path+".json.zst") or os.path.isfile(path+".json.gzip")):
            print("WILL DOWNLOAD", path)
            data_utils.write_data(dt, await c.get_data(dt))
        if (datetime.datetime.now(communication.local_timezone)-dt).total_seconds() > 60*60*24:
            print("REMOVE", path)
            await c.remove_data(dt)

asyncio.run(main())