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