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'],pool_size=5000,max_overflow=100,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 MStatus():
def __init__(self):
try:
self.meta = MetaData()
self.m_status = Table("m_status", self.meta,autoload_with=engine)
except Exception as e:
print(e)
def get_status_id(self,status,society_id):
with engine.connect() as conn:
stmt = text("select status_id from m_status where status= :status and society_id=:society_id ;")
results = conn.execute(stmt.bindparams(status=status,society_id=society_id))
conn.close()
return results.first()
def get_status_id_from_display_name(self,status,society_id):
with engine.connect() as conn:
stmt = text("select status_id from m_status where display_name= :status and society_id=:society_id; ")
results = conn.execute(stmt.bindparams(status=status,society_id=society_id))
conn.close()
results= results.first()
if results :
return dict(results._mapping)
else:
return None
def usp_check_user_status(self,user_id,step_name):
connection = engine.raw_connection()
cursor = connection.cursor()
cursor.callproc("usp_check_user_status",[user_id,step_name])
if cursor.description :
columns = [column[0] for column in cursor.description]
results= []
for row in cursor.fetchall():
results.append(dict(zip(columns, row)))
cursor.close()
connection.commit()
connection.close()
if results :
return results
else :
return None
else :
cursor.close()
connection.commit()
connection.close()
return None
# join query
def get_display_name(self,user_id):
with engine.connect() as conn:
stmt = text("select ms.status_id,display_name from m_status as ms inner join users as u on ms.status_id=u.status_id where u.user_id= :user_id;")
results = conn.execute(stmt.bindparams(user_id=user_id))
results= results.first()
conn.close()
if results :
return dict(results._mapping)
else:
return None
def get_currentstatus(self,society_id):
with engine.connect() as conn:
stmt = text("SELECT status_id,current_status FROM m_status WHERE society_id=:society_id AND status_id >=9 ORDER BY order_no;")
results = conn.execute(stmt.bindparams(society_id=society_id)).all()
conn.close()
return [dict(r._mapping) for r in results] if results else None
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists