1
0
Fork 0
A REST-API built with Flask and Python. Its main purpose is to receive the readings from the light meters welding booths in the Ritherdon factory and make them available for consumption by the relay-controllers in the gallery.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 

69 lines
2.2 KiB

import os
from datetime import datetime
from config import db
from models.meters import Meter1, Meter2, Meter3
from models.devices import Device1, Device2, Device3, Device4, Device5, Device6
def get_timestamp():
return datetime.now().strftime(("%Y-%m-%d %H:%M:%S"))
# The initialisation data for the database
READINGS1 =[ {"time":datetime.now(), "reading": 0} ]
READINGS2 =[ {"time":datetime.now(), "reading": 0} ]
READINGS3 =[ {"time":datetime.now(), "reading": 0} ]
DEVICE1 = [ {"time":datetime.now(), "status": "off"} ]
DEVICE2 = [ {"time":datetime.now(), "status": "off"} ]
DEVICE3 = [ {"time":datetime.now(), "status": "off"} ]
DEVICE4 = [ {"time":datetime.now(), "status": "off"} ]
DEVICE5 = [ {"time":datetime.now(), "status": "off"} ]
DEVICE6 = [ {"time":datetime.now(), "status": "off"} ]
# Deletes the database if it already exists
if os.path.exists("readings.db"):
os.remove("readings.db")
# Creates the database
db.create_all()
# Iterates over the READINGS1 structure and populates the database
for info in READINGS1:
r = Meter1(time=info.get("time"), reading=info.get("reading"))
db.session.add(r)
# Iterates over the READINGS2 structure and populates the datebase
for info in READINGS2:
r = Meter2(time=info.get("time"), reading=info.get("reading"))
db.session.add(r)
# Iterates over the READINGS3 structure and populates the datebase.
for info in READINGS3:
r = Meter3(time=info.get("time"), reading=info.get("reading"))
db.session.add(r)
# These are the light-meters in Ritherdon.
for info in DEVICE1:
r = Device1(time=info.get("time"), status=info.get("status"))
db.session.add(r)
for info in DEVICE2:
r = Device2(time=info.get("time"), status=info.get("status"))
db.session.add(r)
for info in DEVICE3:
r = Device3(time=info.get("time"), status=info.get("status"))
db.session.add(r)
# These are the relays in the gallery.
for info in DEVICE4:
r = Device4(time=info.get("time"), status=info.get("status"))
db.session.add(r)
for info in DEVICE5:
r = Device5(time=info.get("time"), status=info.get("status"))
db.session.add(r)
for info in DEVICE6:
r = Device6(time=info.get("time"), status=info.get("status"))
db.session.add(r)
db.session.commit()