import requests,json,datetime

URL = "http://10.47.3.125/jsonrpc"
ADOM_NAME = "root"

admin_user ="admin"
admin_password = ""


def faz_login():
    login = {
      "method": "exec",
      "params": [
        {
          "data": {
            "user": admin_user,
            "passwd": admin_password
          },
          "url":"/sys/login/user"
        }
      ],
      "id": 4
    }
    response = requests.post(URL,json=login,verify=False)
    result = response.json()
    return result["session"]    
    
    
def get_lograte(faz_session):
    req = {
      "id": 6,
      "jsonrpc": "2.0",
      "method": "get",
       "params": [
    {
      "apiver": 3,    
      "url": "/logview/adom/"+ADOM_NAME+"/logstats"
    }
  ],
      "session": faz_session
    }
    result = requests.post(URL,json=req,verify=False)
    res = result.json()
    return res['result']['data']['devs']
    
session = faz_login()
print(session)
res_arr = get_lograte(session)    
for i in res_arr:
   status = i['status']
   devname = i['devname']
   devstat = i['vdoms'][0]
   match status:
      case 0:
        print("Device {}: status unknown".format(devname))
      case 1:
        print("Device {}: status down, lograte: {}, last log time: {}".format(devname, devstat['lograte'], devstat['last-log-time']))
      case 2:
        print("Device {}: status up, lograte: {}, last log time: {}".format(devname, devstat['lograte'], devstat['last-log-time']))
