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