from web import create_app
from core.ModelManager import mMM
import  os
import platform
import shutil
import asyncio
from hypercorn.asyncio import serve
from hypercorn.config import Config
from core.DBManager import mDBM

print(f"Current working directory (run.py): {os.getcwd()}")
web = create_app()
async def run_quart_app():
    config = Config()
    config.bind = ["0.0.0.0:5001"]
    await serve(web, config)

def test():
    area_id = 1
    c_name = "55"
    strsql = f"select ID from channel where area_id={area_id} and channel_name={c_name};"
    data = mDBM.do_select(strsql, 1)
    if data:
        print("有值")
    else:
        print("无值")

if __name__ == '__main__':
    system = platform.system()
    if system == "Windows":
        total, used, free = shutil.disk_usage("/")
    elif system == "Linux":
        """获取Linux系统的剩余存储空间"""
        statvfs = os.statvfs(os.getcwd())
        free = statvfs.f_bavail * statvfs.f_frsize
    else:
        raise NotImplementedError(f"Unsupported operating system: {system}")
    print(free/(1024*1024))
    mMM.start_work()  # 启动所有通道的处理
    #mVManager.start_check_rtsp()  #线程更新视频在线情况
    asyncio.run(run_quart_app())