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