Sindbad~EG File Manager
from sqlalchemy import create_engine, MetaData, Table, insert, select,update,delete,text
from sqlalchemy.sql import and_, or_
from core import app
import json
from .. import engine
#engine = create_engine(app.config['DATABASE_URI'])
# engine = create_engine(app.config['DATABASE_URI'],pool_size=5000,pool_pre_ping=True,pool_recycle=3600)
# engine = create_engine(app.config['DATABASE_URI'], poolclass=None,pool_size=5000,max_overflow=100,pool_pre_ping=True,pool_recycle=3600)
class UserQualification():
def __init__(self):
try:
self.meta = MetaData()
self.user_qualification = Table("user_qualification", self.meta, autoload_with=engine)
self.user_additional = Table("user_additional", self.meta, autoload_with=engine)
except Exception as e:
print(e)
def get_qualification(self,uq_id):
with engine.connect() as conn:
stmt = select(self.user_qualification).where(self.user_qualification.c.uq_id.in_([uq_id]))
result = conn.execute(stmt)
output = result.first()
conn.close()
if output:
return dict(output._mapping)
else:
return None
def delete_qualification(self,uq_id):
with engine.connect() as conn:
stmt = text("delete from user_qualification WHERE uq_id IN("+str(uq_id)+")")
result = conn.execute(stmt)
conn.commit()
conn.close()
return result
# insert or update qualification
def update_or_insert(self,user_id,uq_id,data):
with engine.connect() as conn:
if (int(uq_id) > 0):
data.pop("created_at")
stmt = self.user_qualification.update().where(self.user_qualification.c.uq_id.in_([uq_id])).values(data)
result = conn.execute(stmt)
else :
# insert block
result = conn.execute(self.user_qualification.insert(), data)
conn.commit()
stmt = text("select * from user_qualification where user_id= "+str(user_id)+";")
results = conn.execute(stmt).all()
conn.close()
return [dict(r._mapping) for r in results] if results else None
def count_qul_user_id(self,user_id):
with engine.connect() as conn:
stmt = text("SELECT COUNT(user_id) as count FROM user_qualification where user_id="+ str(user_id) +" limit 1;")
return conn.execute(stmt).first()
def get_qulification_by_user(self,user_id):
with engine.connect() as conn:
stmt = text("select * from user_qualification where user_id= "+str(user_id)+";")
results = conn.execute(stmt).all()
conn.close()
return [dict(r._mapping) for r in results] if results else None
# insert or update user_additional
def update_or_insert_user_additional(self,user_id,data):
with engine.connect() as conn:
stmt = text("select * from user_additional where user_id= "+str(user_id)+";")
result = conn.execute(stmt)
output = result.first()
if output:
data.pop("created_at")
stmt = self.user_additional.update().where(self.user_additional.c.user_id.in_([user_id])).values(data)
result = conn.execute(stmt)
else :
# insert block
result = conn.execute(self.user_additional.insert(), data)
conn.commit()
conn.close()
return result
def get_user_additional_by_user(self,user_id):
with engine.connect() as conn:
stmt = text("select * from user_additional where user_id= "+str(user_id)+";")
result = conn.execute(stmt).first()
conn.close()
return result
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists