Files
zeus-filter/app/main.py

44 lines
1.1 KiB
Python

import signal
import sys
import os
import logger
import utils
from server import Server
def _handle_exit(sig, frame) -> None:
print("Exiting...")
sys.exit(0)
def _get_environment_variable(key: str) -> str:
value = os.getenv(key)
if not value:
logger.error(f"Environment variable '{key}' must be set")
return value
def _parse_environment_variable(key: str, value: str) -> int:
try:
return int(value)
except ValueError:
logger.error(f"Environment variable '{key}' must be an integer")
return -1
def main() -> None:
signal.signal(signal.SIGTERM, _handle_exit)
signal.signal(signal.SIGINT, _handle_exit)
cache_duration = _get_environment_variable("CACHE_DURATION")
ics_url = _get_environment_variable("ICS_URL")
time_zone = _get_environment_variable("TIME_ZONE")
cache_duration_int = _parse_environment_variable("CACHE_DURATION", cache_duration)
utils.set_time_zone(time_zone)
server = Server("0.0.0.0", 80, cache_duration_int, ics_url)
server.serve()
if __name__ == "__main__":
main()