Varken/varken.py

57 lines
2.2 KiB
Python
Raw Normal View History

2018-11-28 20:21:16 -08:00
import schedule
import threading
from time import sleep
from Varken.iniparser import INIParser
from Varken.sonarr import SonarrAPI
from Varken.tautulli import TautulliAPI
2018-12-01 18:33:33 -08:00
from Varken.radarr import RadarrAPI
2018-12-01 20:26:44 -08:00
from Varken.ombi import OmbiAPI
2018-11-28 20:21:16 -08:00
def threaded(job):
thread = threading.Thread(target=job)
2018-11-28 20:21:16 -08:00
thread.start()
2018-11-29 10:42:10 -08:00
2018-11-28 20:21:16 -08:00
if __name__ == "__main__":
CONFIG = INIParser()
if CONFIG.sonarr_enabled:
for server in CONFIG.sonarr_servers:
SONARR = SonarrAPI(server, CONFIG.influx_server)
2018-11-28 20:21:16 -08:00
if server.queue:
2018-11-29 10:42:10 -08:00
schedule.every(server.queue_run_seconds).seconds.do(threaded, SONARR.get_queue)
2018-11-28 20:57:10 -08:00
if server.missing_days > 0:
schedule.every(server.missing_days_run_seconds).seconds.do(threaded, SONARR.get_missing)
2018-11-28 20:57:10 -08:00
if server.future_days > 0:
schedule.every(server.future_days_run_seconds).seconds.do(threaded, SONARR.get_future)
2018-11-28 20:21:16 -08:00
if CONFIG.tautulli_enabled:
for server in CONFIG.tautulli_servers:
TAUTULLI = TautulliAPI(server, CONFIG.influx_server)
if server.get_activity:
schedule.every(server.get_activity_run_seconds).seconds.do(threaded, TAUTULLI.get_activity)
if server.get_sessions:
schedule.every(server.get_sessions_run_seconds).seconds.do(threaded, TAUTULLI.get_sessions)
2018-12-01 18:33:33 -08:00
if CONFIG.radarr_enabled:
for server in CONFIG.radarr_servers:
RADARR = RadarrAPI(server, CONFIG.influx_server)
if server.get_missing:
2018-12-01 18:33:33 -08:00
schedule.every(server.get_missing_run_seconds).seconds.do(threaded, RADARR.get_missing)
if server.queue:
schedule.every(server.queue_run_seconds).seconds.do(threaded, RADARR.get_queue)
2018-12-01 20:26:44 -08:00
if CONFIG.ombi_enabled:
for server in CONFIG.ombi_servers:
OMBI = OmbiAPI(server, CONFIG.influx_server)
if server.request_type_counts:
schedule.every(server.request_type_run_seconds).seconds.do(threaded, OMBI.get_request_counts)
if server.request_total_counts:
schedule.every(server.request_total_run_seconds).seconds.do(threaded, OMBI.get_total_requests)
2018-11-28 20:21:16 -08:00
while True:
schedule.run_pending()
sleep(1)