dsl-checker/st.py

61 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python3
import speedtest
import csv
import datetime
import mysql.connector
import os
db_config = {
'user': 'm_imp',
'password': '123',
'host': '127.0.0.1',
'database': 'speedtests'
}
try:
cx=mysql.connector.connect(**db_config)
c=cx.cursor()
except mysql.connector.Error as err:
exit('Could not open database')
upload_statement = "INSERT INTO sts (server_id,sponsor,serv_name,time,distance,ping,download,upload) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"
try:
s=speedtest.Speedtest()
s.get_servers()
s.get_best_server()
s.download()
s.upload()
d=s.results.dict()
u=(
d['server']['id'],
d['server']['sponsor'],
d['server']['name'],
d['timestamp'],
d['server']['d'], # distance
d['server']['latency'],
d['download'],
d['upload']
)
except speedtest.SpeedtestException:
u=(
None,
str(datetime.datetime.utcnow().isoformat())+'Z',
None,
None,
None,
None,
None,
None
)
try:
c.execute(upload_statement, u)
cx.commit()
except:
cx.rollback()
raise
c.close()
cx.close()
#print("Uploaded" + str(u))