Sindbad~EG File Manager

Current Path : /home/numerotech/mobileapp.aios-scientificcommittee.org/aiosapp/core/model/
Upload File :
Current File : //home/numerotech/mobileapp.aios-scientificcommittee.org/aiosapp/core/model/AppModel.py

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