cosmicpi-rpi_V1.5/frontend/params.py
2018-03-14 00:20:46 +01:00

47 lines
1.3 KiB
Python

from flask_restful import Resource
from .config import Config
import sqlite3
SQLITE_LOCATION = Config.get("Storage", "sqlite_location")
class Params(Resource):
def get(self):
params = {'HardwareSerial': Params._get_serial()}
# Get the latest datapoint
conn = sqlite3.connect(SQLITE_LOCATION, timeout=60.0)
cursor = conn.cursor()
cursor.execute("SELECT * FROM Events ORDER BY UTCUnixTime DESC, SubSeconds DESC;")
latest_datapoint = cursor.fetchone()
# Get column names
cursor.execute("PRAGMA table_info(Events);")
col_names = cursor.fetchall()
conn.close()
# Extract data
for i in range(0, len(col_names)):
# Field name
f_name = col_names[i][1]
# Fill in values
params[f_name] = latest_datapoint[i]
return params
@staticmethod
def _get_serial():
"""
Extract serial from cpuinfo file
"""
cpu_serial = "0000000000000000"
try:
f = open('/proc/cpuinfo', 'r')
for line in f:
if line[0:6] == 'Serial':
cpu_serial = line[10:26]
f.close()
except:
cpu_serial = "ERROR000000000"
return cpu_serial