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.

64 lines
2.1 KiB

from iot.app import db, create_app, bcrypt
from iot.blueprints.user.models import Users, User_Roles
from iot.blueprints.sensor.models import nbiotDevice, nbiotDeviceArea, nbiotDeviceType, nbiotDeviceStatus, waterDetector
import csv
import subprocess
app = create_app()
app.app_context().push()
status = db.drop_all()
status = db.create_all()
static_dir = "init/static/"
def uploadCsvOnlyName(table):
file = static_dir + "csv/" + str(table.__tablename__) + ".csv"
with open(file) as f:
reader = csv.reader(f)
header = next(reader)
for i in reader:
kwargs = {column: value for column, value in zip(header, i)}
new_entry = table(**kwargs)
db.session.add(new_entry)
db.session.commit()
def uploadCsv(filename, table):
with open(filename) as f:
reader = csv.reader(f)
header = next(reader)
for i in reader:
kwargs = {column: value for column, value in zip(header, i)}
new_entry = table(**kwargs)
db.session.add(new_entry)
db.session.commit()
def initDatabase():
uploadCsvOnlyName(nbiotDeviceStatus)
uploadCsvOnlyName(nbiotDeviceType)
uploadCsvOnlyName(nbiotDeviceArea)
uploadCsvOnlyName(nbiotDevice)
uploadCsvOnlyName(User_Roles)
hashed_pw = bcrypt.generate_password_hash('pass').decode('utf-8')
user = Users(username="Admin", email_account="admin@kynsight.com", email_comm="admin@kynsight.com", password=hashed_pw, role_id=1)
db.session.add(user)
hashed_pw = bcrypt.generate_password_hash('pass').decode('utf-8')
user = Users(username="KeremYollu", email_account="kerem.yollu@gmail.com", email_comm="kerem.yollu@gmail.com", password=hashed_pw, role_id=2)
db.session.add(user)
hashed_pw = bcrypt.generate_password_hash('pass').decode('utf-8')
user = Users(username="Kynsight", email_account="kerem.yollu@kynsight.com", email_comm="kerem.yollu@kynsight.com", password=hashed_pw, role_id=3)
db.session.add(user)
db.session.commit()
user = type(Users)
roles = type(User_Roles)
if __name__ == '__main__':
initDatabase()
users=Users.query.all()
roles=User_Roles.query.all()