Files
rmmanager/plugins/rmass/monitors/rmassmonitor.py
T

78 lines
1.6 KiB
Python

#Import List
import os
from plugins.rmass.operations import synapsemessagepush
from plugins.rmass.actions import setavailable
#Module Description
name = "RMASS Monitor"
kind = "monitor"
#Allows success status to be printed in logs during operation
showstatus = False
#Request information for HTTP REST API requests
isrequest = True
method = "GET"
refreshrate = int(os.environ.get("MONITOR_INTERVAL", 30))
path = "https://rentmasseur.com/api/v1/account/keeponline"
headers = {
"Authorization": {
"output": "access_token",
"prefix": "Bearer ",
},
}
#Items to be read from request response
resolve = {
"get": {
"currentunread": ["newEmails"],
"availability":["userActivity", "message"],
"availabletime":["userActivity", "validTo"],
},
}
#Items to be saved from request response
outputs = {
"availability": "message",
"availabletime": "validTo",
"lastunread": "newEmails",
}
filters = [
{
"filterkey": "currentunread",
"operator": ">",
"filtervalue": {"outputs": "lastunread"},
"print": "New messages available...",
"execute": synapsemessagepush
},
{
"filterkey": "availabletime",
"operator": "<=",
"filtervalue": 3600,
"print": "Available time below threshold...",
"execute": setavailable,
},
]
sleeptime = 15
#prints = {
# "Status": "message",
# "Time Remaining": "validTo",
# }
#recoverPolicy = {
# KeyError: []
#}
loaddata = [
"access_token",
"refresh_token",
]
savepath = os.environ["TOKEN_STORE"]