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
# engine = create_engine(app.config['DATABASE_URI_TNOA'])
# engine = create_engine(app.config['DATABASE_URI_APP'],future=True)
engine = create_engine(app.config['DATABASE_URI_APP'],pool_recycle=3600)
class AppModel():
def __init__(self):
try:
self.meta = MetaData()
self.menu_table = Table("menu_table", self.meta, autoload=True, autoload_with=engine)
self.pages = Table("pages", self.meta, autoload=True, autoload_with=engine)
self.asset = Table("asset", self.meta, autoload=True, autoload_with=engine)
self.page_asset_map = Table("page_asset_map", self.meta, autoload=True, autoload_with=engine)
self.signup = Table("signup", self.meta, autoload=True, autoload_with=engine)
except Exception as e:
print(e)
def getMenu(self,updated_at):
with engine.connect() as conn:
if updated_at :
stmt = text("select * from menu_table where updated_at >'"+updated_at+"' ;")
else :
# stmt = select([self.menu_table])
stmt = text("SELECT * FROM menu_table;")
results = conn.execute(stmt)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
def getPage(self,updated_at):
with engine.connect() as conn:
if updated_at :
stmt = text("select * from pages where updated_at >'"+updated_at+"';")
else :
stmt = text("select * from pages ;")
results = conn.execute(stmt)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
def getAsset(self,updated_at):
with engine.connect() as conn:
if updated_at :
stmt = text("select * from asset where updated_at >'"+updated_at+"';")
else :
# stmt = select([self.asset])
stmt = text("select * from asset ;")
results = conn.execute(stmt)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
def getPageAssetMap(self,updated_at):
with engine.connect() as conn:
if updated_at :
stmt = text("select * from page_asset_map where updated_at >'"+updated_at+"';")
else :
# stmt = select([self.page_asset_map])
stmt = text("select * from page_asset_map ;")
results = conn.execute(stmt)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
def getSplashScreenData(self,updated_at,device_type,screen_size):
with engine.connect() as conn:
if updated_at :
stmt = text("SELECT * FROM splash_screen where device_type =:device_type and screen_size>:screen_size and updated_at >:updated_at limit 1;")
else :
stmt = text("SELECT * FROM splash_screen where device_type =:device_type and screen_size>:screen_size limit 1 ;")
results = conn.execute(stmt,device_type=device_type,updated_at=updated_at,screen_size=screen_size)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
def getSplashScreenDataIOS(self,updated_at,device_type,screen_size):
with engine.connect() as conn:
if updated_at :
stmt = text("SELECT * FROM splash_screen where device_type =:device_type and screen_size=:screen_size and updated_at >:updated_at limit 1;")
else :
stmt = text("SELECT * FROM splash_screen where device_type =:device_type and screen_size=:screen_size limit 1 ;")
results = conn.execute(stmt,device_type=device_type,updated_at=updated_at,screen_size=screen_size)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
# ios learning API #########
def getSignup(self,updated_at):
with engine.connect() as conn:
if updated_at :
stmt = text("select * from signup ;")
else :
# stmt = select([self.signup])
stmt = text("select * from signup ;")
results = conn.execute(stmt)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
def SaveSignupData(self,data):
with engine.connect() as conn:
result = c.execute(self.signup.insert(), data)
stmt = text("select * from signup ;")
results = c.execute(stmt)
result = results.all()
results = [dict(r._mapping) for r in result] if result else None
return results
######## learning end #########
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists