Files
Munin-Plugins-Seedbox/sonarr_queue
T
2019-08-22 20:56:17 +00:00

74 lines
2.1 KiB
Python

#!/usr/bin/python
from sys import argv, exit
from subprocess import check_output
from re import search, sub
from json import loads, dumps
from os import environ
from requests import get
if len(argv) > 1:
print("graph_vlabel Sonarr queue")
print("graph_title Sonarr queue")
print("graph_category sonarr_queue")
print("sonarr_queue_items.label queue items")
print("sonarr_queue_items_size.label queue items size")
print("sonarr_queue_items_downloading.label queue items")
print("sonarr_queue_items_downloading_size.label queue items size")
print("sonarr_queue_items_complete.label queue items warning")
print("sonarr_queue_items_complete_size.label queue items size warning")
print("sonarr_queue_items_warning.label queue items warning")
print("sonarr_queue_items_warning_size.label queue items size warning")
exit()
response = get(
"{}/{}?apikey={}".format(environ["host"], "api/queue", environ["apikey"]),
headers={"Accept": "application/json"}
)
response.raise_for_status()
items = 0
items_size = 0
downloading = 0
downloading_size = 0
complete = 0
complete_size = 0
warning = 0
warning_size = 0
for item in response.json():
if item["status"] == "Downloading":
downloading = downloading + 1
downloading_size = downloading_size + item["size"]
elif item["status"] == "Complete":
complete = complete + 1
complete_size = complete_size + item["size"]
if item["trackedDownloadStatus"] == "Warning":
warning = warning + 1
warning_size = warning_size + item["size"]
items = items + 1
items_size = items_size + item["size"]
print "sonarr_queue_items.value", items
print "sonarr_queue_items_size.value", items_size
print "sonarr_queue_items_downloading.value", downloading
print "sonarr_queue_items_downloading_size.value", downloading_size
print "sonarr_queue_items_complete.value", complete
print "sonarr_queue_items_complete_size.value", complete_size
print "sonarr_queue_items_warning.value", warning
print "sonarr_queue_items_warning_size.value", warning_size