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
|
2018-12-01 14:30:41 -08:00
|
|
|
from Varken.tautulli import TautulliAPI
|
2018-11-28 20:21:16 -08:00
|
|
|
|
|
|
|
|
2018-11-28 21:47:04 -08:00
|
|
|
def threaded(job, days=None):
|
|
|
|
thread = threading.Thread(target=job, args=([days]))
|
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:
|
2018-11-28 20:26:00 -08:00
|
|
|
SONARR = SonarrAPI(CONFIG.sonarr_servers, CONFIG.influx_server)
|
2018-11-28 20:57:10 -08:00
|
|
|
|
2018-11-28 20:21:16 -08:00
|
|
|
for server in CONFIG.sonarr_servers:
|
|
|
|
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:
|
2018-11-29 10:42:10 -08:00
|
|
|
schedule.every(server.missing_days_run_seconds).seconds.do(threaded, SONARR.get_missing,
|
2018-11-28 21:47:04 -08:00
|
|
|
server.missing_days)
|
2018-11-28 20:57:10 -08:00
|
|
|
if server.future_days > 0:
|
2018-11-29 10:42:10 -08:00
|
|
|
schedule.every(server.future_days_run_seconds).seconds.do(threaded, SONARR.get_future,
|
2018-11-28 21:47:04 -08:00
|
|
|
server.future_days)
|
2018-11-28 20:21:16 -08:00
|
|
|
|
2018-12-01 14:30:41 -08:00
|
|
|
if CONFIG.tautulli_enabled:
|
|
|
|
TAUTULLI = TautulliAPI(CONFIG.tautulli_servers, CONFIG.influx_server)
|
|
|
|
|
|
|
|
for server in CONFIG.tautulli_servers:
|
|
|
|
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-11-28 20:21:16 -08:00
|
|
|
while True:
|
|
|
|
schedule.run_pending()
|
|
|
|
sleep(1)
|
|
|
|
|