Makes PEP8 more happy
This commit is contained in:
parent
08a13794fc
commit
0f482eb2bf
|
@ -2,25 +2,23 @@
|
|||
# pylint: disable=C0103,C0111,W0621
|
||||
from __future__ import print_function
|
||||
|
||||
#
|
||||
# Freebox API SDK / Docs: http://dev.freebox.fr/sdk/os/login/
|
||||
#
|
||||
|
||||
import requests
|
||||
import os
|
||||
import json
|
||||
import hmac
|
||||
import time
|
||||
import argparse
|
||||
import sys
|
||||
from hashlib import sha1
|
||||
|
||||
if sys.version_info >= (3,0):
|
||||
if sys.version_info >= (3, 0):
|
||||
import configparser as configp
|
||||
else:
|
||||
import ConfigParser as configp
|
||||
|
||||
|
||||
from hashlib import sha1
|
||||
import requests
|
||||
#
|
||||
# Freebox API SDK / Docs: http://dev.freebox.fr/sdk/os/login/
|
||||
#
|
||||
|
||||
VERSION = "0.4.3"
|
||||
ENDPOINT = "http://mafreebox.freebox.fr/api/v3"
|
||||
|
@ -144,116 +142,114 @@ def get_and_print_metrics(creds, s_switch, s_ports, s_sys):
|
|||
}
|
||||
|
||||
# Setup hashtable for results
|
||||
myData = {}
|
||||
my_data = {}
|
||||
|
||||
# Fetch connection stats
|
||||
jsonRaw = get_connection_stats(headers)
|
||||
json_raw = get_connection_stats(headers)
|
||||
|
||||
# Generic datas, same for FFTH or xDSL
|
||||
myData['bytes_down'] = jsonRaw['result']['bytes_down'] # total in bytes since last connection
|
||||
myData['bytes_up'] = jsonRaw['result']['bytes_up']
|
||||
my_data['bytes_down'] = json_raw['result']['bytes_down'] # total in bytes since last connection
|
||||
my_data['bytes_up'] = json_raw['result']['bytes_up']
|
||||
|
||||
myData['rate_down'] = jsonRaw['result']['rate_down'] # current rate in byte/s
|
||||
myData['rate_up'] = jsonRaw['result']['rate_up']
|
||||
my_data['rate_down'] = json_raw['result']['rate_down'] # current rate in byte/s
|
||||
my_data['rate_up'] = json_raw['result']['rate_up']
|
||||
|
||||
myData['bandwidth_down'] = jsonRaw['result']['bandwidth_down'] # available bw in bit/s
|
||||
myData['bandwidth_up'] = jsonRaw['result']['bandwidth_up']
|
||||
my_data['bandwidth_down'] = json_raw['result']['bandwidth_down'] # available bw in bit/s
|
||||
my_data['bandwidth_up'] = json_raw['result']['bandwidth_up']
|
||||
|
||||
if jsonRaw['result']['state'] == "up":
|
||||
myData['state'] = 1
|
||||
if json_raw['result']['state'] == "up":
|
||||
my_data['state'] = 1
|
||||
else:
|
||||
myData['state'] = 0
|
||||
my_data['state'] = 0
|
||||
|
||||
# ffth for FFTH (default)
|
||||
# xdsl for xDSL
|
||||
connection_media = jsonRaw['result']['media']
|
||||
connection_media = json_raw['result']['media']
|
||||
|
||||
###
|
||||
# FFTH specific
|
||||
if connection_media == "ffth":
|
||||
jsonRaw = get_ftth_status(headers)
|
||||
json_raw = get_ftth_status(headers)
|
||||
|
||||
myData['sfp_pwr_rx'] = jsonRaw['result']['sfp_pwr_rx'] # scaled by 100 (in dBm)
|
||||
myData['sfp_pwr_tx'] = jsonRaw['result']['sfp_pwr_tx']
|
||||
my_data['sfp_pwr_rx'] = json_raw['result']['sfp_pwr_rx'] # scaled by 100 (in dBm)
|
||||
my_data['sfp_pwr_tx'] = json_raw['result']['sfp_pwr_tx']
|
||||
|
||||
###
|
||||
# xDSL specific
|
||||
if connection_media == "xdsl":
|
||||
jsonRaw = get_xdsl_status(headers)
|
||||
json_raw = get_xdsl_status(headers)
|
||||
|
||||
myData['xdsl_uptime'] = jsonRaw['result']['status']['uptime'] # in seconds
|
||||
my_data['xdsl_uptime'] = json_raw['result']['status']['uptime'] # in seconds
|
||||
|
||||
myData['xdsl_down_es'] = jsonRaw['result']['down']['es'] # increment
|
||||
myData['xdsl_down_attn'] = jsonRaw['result']['down']['attn'] # in dB
|
||||
myData['xdsl_down_snr'] = jsonRaw['result']['down']['snr'] # in dB
|
||||
myData['xdsl_down_rate'] = jsonRaw['result']['down']['rate'] # ATM rate in kbit/s
|
||||
myData['xdsl_down_hec'] = jsonRaw['result']['down']['hec'] # increment
|
||||
myData['xdsl_down_crc'] = jsonRaw['result']['down']['crc'] # increment
|
||||
myData['xdsl_down_ses'] = jsonRaw['result']['down']['ses'] # increment
|
||||
myData['xdsl_down_fec'] = jsonRaw['result']['down']['fec'] # increment
|
||||
myData['xdsl_down_maxrate'] = jsonRaw['result']['down']['maxrate'] # ATM max rate in kbit/s
|
||||
myData['xdsl_down_rtx_tx'] = jsonRaw['result']['down']['rtx_tx'] # G.INP on/off
|
||||
myData['xdsl_down_rtx_c'] = jsonRaw['result']['down']['rtx_c'] # G.INP corrected
|
||||
myData['xdsl_down_rtx_uc'] = jsonRaw['result']['down']['rtx_uc'] # G.INP uncorrected
|
||||
|
||||
myData['xdsl_up_es'] = jsonRaw['result']['up']['es']
|
||||
myData['xdsl_up_attn'] = jsonRaw['result']['up']['attn']
|
||||
myData['xdsl_up_snr'] = jsonRaw['result']['up']['snr']
|
||||
myData['xdsl_up_rate'] = jsonRaw['result']['up']['rate']
|
||||
myData['xdsl_up_hec'] = jsonRaw['result']['up']['hec']
|
||||
myData['xdsl_up_crc'] = jsonRaw['result']['up']['crc']
|
||||
myData['xdsl_up_ses'] = jsonRaw['result']['up']['ses']
|
||||
myData['xdsl_up_fec'] = jsonRaw['result']['up']['fec']
|
||||
myData['xdsl_up_maxrate'] = jsonRaw['result']['up']['maxrate']
|
||||
myData['xdsl_up_rtx_tx'] = jsonRaw['result']['up']['rtx_tx'] # G.INP on/off
|
||||
myData['xdsl_up_rtx_c'] = jsonRaw['result']['up']['rtx_c'] # G.INP corrected
|
||||
myData['xdsl_up_rtx_uc'] = jsonRaw['result']['up']['rtx_uc'] # G.INP uncorrected
|
||||
my_data['xdsl_down_es'] = json_raw['result']['down']['es'] # increment
|
||||
my_data['xdsl_down_attn'] = json_raw['result']['down']['attn'] # in dB
|
||||
my_data['xdsl_down_snr'] = json_raw['result']['down']['snr'] # in dB
|
||||
my_data['xdsl_down_rate'] = json_raw['result']['down']['rate'] # ATM rate in kbit/s
|
||||
my_data['xdsl_down_hec'] = json_raw['result']['down']['hec'] # increment
|
||||
my_data['xdsl_down_crc'] = json_raw['result']['down']['crc'] # increment
|
||||
my_data['xdsl_down_ses'] = json_raw['result']['down']['ses'] # increment
|
||||
my_data['xdsl_down_fec'] = json_raw['result']['down']['fec'] # increment
|
||||
my_data['xdsl_down_maxrate'] = json_raw['result']['down']['maxrate'] # ATM max rate in kbit/s
|
||||
my_data['xdsl_down_rtx_tx'] = json_raw['result']['down']['rtx_tx'] # G.INP on/off
|
||||
my_data['xdsl_down_rtx_c'] = json_raw['result']['down']['rtx_c'] # G.INP corrected
|
||||
my_data['xdsl_down_rtx_uc'] = json_raw['result']['down']['rtx_uc'] # G.INP uncorrected
|
||||
|
||||
my_data['xdsl_up_es'] = json_raw['result']['up']['es']
|
||||
my_data['xdsl_up_attn'] = json_raw['result']['up']['attn']
|
||||
my_data['xdsl_up_snr'] = json_raw['result']['up']['snr']
|
||||
my_data['xdsl_up_rate'] = json_raw['result']['up']['rate']
|
||||
my_data['xdsl_up_hec'] = json_raw['result']['up']['hec']
|
||||
my_data['xdsl_up_crc'] = json_raw['result']['up']['crc']
|
||||
my_data['xdsl_up_ses'] = json_raw['result']['up']['ses']
|
||||
my_data['xdsl_up_fec'] = json_raw['result']['up']['fec']
|
||||
my_data['xdsl_up_maxrate'] = json_raw['result']['up']['maxrate']
|
||||
my_data['xdsl_up_rtx_tx'] = json_raw['result']['up']['rtx_tx'] # G.INP on/off
|
||||
my_data['xdsl_up_rtx_c'] = json_raw['result']['up']['rtx_c'] # G.INP corrected
|
||||
my_data['xdsl_up_rtx_uc'] = json_raw['result']['up']['rtx_uc'] # G.INP uncorrected
|
||||
|
||||
##
|
||||
# General infos
|
||||
if s_sys:
|
||||
sysJsonRaw = get_system_config(headers)
|
||||
myData['sys_fan_rpm'] = sysJsonRaw['result']['fan_rpm'] # rpm
|
||||
myData['sys_temp_sw'] = sysJsonRaw['result']['temp_sw'] # Temp Switch, degree Celcius
|
||||
myData['sys_uptime'] = sysJsonRaw['result']['uptime_val'] # Uptime, in seconds
|
||||
myData['sys_temp_cpub'] = sysJsonRaw['result']['temp_cpub'] # Temp CPU Broadcom, degree Celcius
|
||||
myData['sys_temp_cpum'] = sysJsonRaw['result']['temp_cpum'] # Temp CPU Marvell, degree Celcius
|
||||
|
||||
sys_json_raw = get_system_config(headers)
|
||||
my_data['sys_fan_rpm'] = sys_json_raw['result']['fan_rpm'] # rpm
|
||||
my_data['sys_temp_sw'] = sys_json_raw['result']['temp_sw'] # Temp Switch, degree Celcius
|
||||
my_data['sys_uptime'] = sys_json_raw['result']['uptime_val'] # Uptime, in seconds
|
||||
my_data['sys_temp_cpub'] = sys_json_raw['result']['temp_cpub'] # Temp CPU Broadcom, degree Celcius
|
||||
my_data['sys_temp_cpum'] = sys_json_raw['result']['temp_cpum'] # Temp CPU Marvell, degree Celcius
|
||||
|
||||
##
|
||||
# Switch status
|
||||
if s_switch:
|
||||
switchJsonRaw = get_switch_status(headers)
|
||||
for i in switchJsonRaw['result']:
|
||||
switch_json_raw = get_switch_status(headers)
|
||||
for i in switch_json_raw['result']:
|
||||
# 0 down, 1 up
|
||||
myData['switch_%s_link' % i['id']] = 0 if i['link'] == "down" else 1
|
||||
my_data['switch_%s_link' % i['id']] = 0 if i['link'] == "down" else 1
|
||||
# 0 auto, 1 10Base-T, 2 100Base-T, 3 1000Base-T
|
||||
# In fact the duplex is appended like 10BaseT-HD, 1000BaseT-FD, 1000BaseT-FD
|
||||
# So juse is an "in" because duplex isn't really usefull
|
||||
if "10BaseT" in i['mode']:
|
||||
myData['switch_%s_mode' % i['id']] = 1
|
||||
my_data['switch_%s_mode' % i['id']] = 1
|
||||
elif "100BaseT" in i['mode']:
|
||||
myData['switch_%s_mode' % i['id']] = 2
|
||||
my_data['switch_%s_mode' % i['id']] = 2
|
||||
elif "1000BaseT" in i['mode']:
|
||||
myData['switch_%s_mode' % i['id']] = 3
|
||||
my_data['switch_%s_mode' % i['id']] = 3
|
||||
else:
|
||||
myData['switch_%s_mode' % i['id']] = 0 # auto
|
||||
my_data['switch_%s_mode' % i['id']] = 0 # auto
|
||||
|
||||
##
|
||||
# Switch ports status
|
||||
if s_ports:
|
||||
for i in [1,2,3,4]:
|
||||
switchPortStats = get_switch_port_stats(headers, i)
|
||||
myData['switch_%s_rx_bytes_rate' % i] = switchPortStats['result']['rx_bytes_rate'] # bytes/s (?)
|
||||
myData['switch_%s_tx_bytes_rate' % i] = switchPortStats['result']['tx_bytes_rate']
|
||||
for i in [1, 2, 3, 4]:
|
||||
switch_port_stats = get_switch_port_stats(headers, i)
|
||||
my_data['switch_%s_rx_bytes_rate' % i] = switch_port_stats['result']['rx_bytes_rate'] # bytes/s (?)
|
||||
my_data['switch_%s_tx_bytes_rate' % i] = switch_port_stats['result']['tx_bytes_rate']
|
||||
|
||||
# Prepping Graphite Data format
|
||||
timestamp = int(time.time())
|
||||
|
||||
# Output the information
|
||||
for i in myData:
|
||||
print("freebox.%s %s %d" % (i, myData[i], timestamp))
|
||||
for i in my_data:
|
||||
print("freebox.%s %s %d" % (i, my_data[i], timestamp))
|
||||
|
||||
|
||||
def get_auth():
|
||||
|
@ -266,7 +262,7 @@ def get_auth():
|
|||
try:
|
||||
_ = f.get("general", "track_id")
|
||||
_ = f.get("general", "app_token")
|
||||
except configp.NoSectionError as err:
|
||||
except configp.NoSectionError:
|
||||
print("Config is invalid, auth not done.")
|
||||
return None
|
||||
|
||||
|
@ -329,9 +325,20 @@ if __name__ == '__main__':
|
|||
parser.add_argument('-r', '--register', action='store_true', help="Register app with Freebox API")
|
||||
parser.add_argument('-s', '--register-status', dest='status', action='store_true', help="Get register status")
|
||||
|
||||
parser.add_argument('-S', '--status-switch', dest='status_switch', action='store_true', help="Get and show switch status")
|
||||
parser.add_argument('-P', '--status-ports', dest='status_ports', action='store_true', help="Get and show switch ports stats")
|
||||
parser.add_argument('-H', '--status-sys', dest='status_sys', action='store_true', help="Get and show system status")
|
||||
parser.add_argument('-S', '--status-switch',
|
||||
dest='status_switch',
|
||||
action='store_true',
|
||||
help="Get and show switch status")
|
||||
|
||||
parser.add_argument('-P', '--status-ports',
|
||||
dest='status_ports',
|
||||
action='store_true',
|
||||
help="Get and show switch ports stats")
|
||||
|
||||
parser.add_argument('-H', '--status-sys',
|
||||
dest='status_sys',
|
||||
action='store_true',
|
||||
help="Get and show system status")
|
||||
args = parser.parse_args()
|
||||
|
||||
auth = get_auth()
|
||||
|
@ -341,4 +348,4 @@ if __name__ == '__main__':
|
|||
elif args.status:
|
||||
register_status(auth)
|
||||
else:
|
||||
get_and_print_metrics(auth, args.status_switch, args.status_ports, args.status_sys)
|
||||
get_and_print_metrics(auth, args.status_switch, args.status_ports, args.status_sys)
|
||||
|
|
Loading…
Reference in New Issue