i2ME-Legacy/main.py

57 lines
1.6 KiB
Python

import asyncio, aiofiles
from asyncio.log import logger
from asyncore import loop
import logging,coloredlogs
from radar import TWCRadarCollector
import os
from datetime import datetime
import RecordTasks
l = logging.getLogger(__name__)
coloredlogs.install(logger=l)
useRadarServer = True
l.info("Starting i2RecordCollector")
l.info("Developed by mewtek32, Floppaa, Goldblaze, and needlenose")
async def createTemp():
""" Used on a first time run, creates necessary files & directories for the message encoder to work properly. """
if not (os.path.exists('./.temp/')):
l.info("Creating necessary directories & files..")
os.mkdir('./.temp')
# Used for the record generator
os.mkdir('./.temp/tiles/')
os.mkdir('./.temp/tiles/output/')
# Used for radar server downloads
os.mkdir('./.temp/output')
os.mkdir('./.temp/output/radarmosaic')
os.mkdir('./.temp/output/satrad')
# Create msgId file for bit.py
async with aiofiles.open('./.temp/msgId.txt', 'w') as msgId:
await msgId.write('410080515')
await msgId.close()
else:
l.debug(".temp file exists")
return
async def main():
await createTemp()
alertsTask = asyncio.create_task(RecordTasks.alertsTask())
coTask = asyncio.create_task(RecordTasks.coTask())
hfTask = asyncio.create_task(RecordTasks.hfTask())
dfTask = asyncio.create_task(RecordTasks.dfTask())
# In theory, these should all run concurrently without problems
await alertsTask
await coTask
await hfTask
await dfTask
if __name__ == "__main__":
asyncio.run(main())