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()