From 8e3b7b254af608344114e6cbee1fad1080a0b3b8 Mon Sep 17 00:00:00 2001 From: rscmbbng Date: Sun, 2 Dec 2018 18:27:24 +0100 Subject: [PATCH] changed to sqlite --- .gitignore | 1 + slog.py | 45 ++++++++++++++++++++++++--------------------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 34897cc..b8a14f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ __pychache__ solar_server_stats/* *.json +*.db diff --git a/slog.py b/slog.py index 60faa1e..132f8de 100644 --- a/slog.py +++ b/slog.py @@ -1,52 +1,55 @@ import urllib.request, json, datetime,os from urllib.error import URLError, HTTPError -from tinydb import TinyDB, Query +import sqlite3 -folder = 'solar_server_stats' now = datetime.datetime.now() day = now.strftime('%F') +time = now.strftime('%H:%M') + url = 'https://solar.lowtechmagazine.com/api/stats.json' -if not os.path.exists(folder): - os.mkdir(folder) -db = TinyDB(os.path.join(folder,day+'-stats.json')) +if not os.path.exists('stats.db'): + db = sqlite3.connect('stats.db') + c = db.cursor() + c.execute("""CREATE TABLE stats(date text, time text, error text, server text) + """) + db.commit() +else: + db = sqlite3.connect('stats.db') + c = db.cursor() -request = urllib.request.Request(url) -stats = {} +request = urllib.request.Request(url) try: response = urllib.request.urlopen(request) except HTTPError as e: -# print('The server couldn\'t fulfill the request.') -# print('Error code: ', e.code) + print('The server couldn\'t fulfill the request.') + print('Error code: ', e.code) error = e.code - stats['server'] = None + server = None pass except URLError as e: -# print('We failed to reach a server.') -# print('Reason: ', e.reason) + print('We failed to reach a server.') + print('Reason: ', e.reason) error = e.reason - stats['server'] = None + server = None pass else: # everything is fine data = response.read().decode('utf-8') - stats['server'] = json.loads(data) + server = data error = None if error: - stats['error'] = error.args[1] -else: - stats['error'] = error - -stats['day'] = day -stats['time'] = now.strftime('%H:%M') + error = error.args[1] -db.insert(stats) +c.execute("""INSERT INTO stats VALUES(?,?,?,?)""", (day, time, error, server)) +db.commit() +db.close() \ No newline at end of file