Sindbad~EG File Manager

Current Path : /home/numerotech/mosgreedingsmail.urbanedge.co.in/mos_birthday/core/model/
Upload File :
Current File : //home/numerotech/mosgreedingsmail.urbanedge.co.in/mos_birthday/core/model/User_details.py

from sqlalchemy import create_engine, MetaData, Table, insert, func, select,text
from sqlalchemy.sql import and_, or_
from core import app

engine = create_engine(app.config['DATABASE_URI'],pool_pre_ping=True,pool_recycle=3600,future=True)
c = engine.connect()

#creating a class User_details..
class User_details():
	def __init__(self):
		try:
			self.meta = MetaData()
			# send_mail_index
			self.send_mail_index = Table("send_mail_index", self.meta, autoload_with=engine)
			self.users = Table("users", self.meta,  autoload_with=engine)

			self.dob_template   = Table("dob_template", self.meta, autoload_with=engine)
			self.office_bearers = Table("office_bearers", self.meta, autoload_with=engine)
			# dob_template
		except Exception as e:
			print(e)

	def send_mail_history(self):
		with engine.connect() as conn:
			try:
				# stmt = select([self.send_mail_index])
				stmt = text(" SELECT * FROM send_mail_index where society_id = 2  and is_birthday_mail > 0 ;")
				result = conn.execute(stmt).all()
				results = [dict(r._mapping) for r in result] if result else None
				return results
			except exc.DBAPIError as e:
				if e.connection_invalidated:
					print("Connection was invalidated")
					return e	

	def get_testuser(self,today_month_date):
		with engine.connect() as conn:
			try:
	# 			stmt = text("select  u.user_id, u.NewMemNo,u.prefix,u.sur_name,u.first_name,u.dob,u.email,u.mobile,u.address1,u.address2,u.address3,u.city,u.image_name,u.image_path from test_users u where u.dob like" +"'%"+today_month_date+"%'"+";")
			
				stmt = text("SELECT * FROM users where email is not null and membership_no is not null and dob is not null and full_name is not null and dob like " + "'%"+"-"+today_month_date+"%'"+ "  and society_id = 2 and expired_on is  null;")
				result = conn.execute(stmt).all()
				results = [dict(r._mapping) for r in result] if result else None
				return results
			except exc.DBAPIError as e:
				if e.connection_invalidated:
					print("Connection was invalidated")
					return e			

	def get_office_bearers(self):
		with engine.connect() as conn:
			try:
				stmt = text("select * from office_bearers;")
				result = conn.execute(stmt).all()
				results = [dict(r._mapping) for r in result] if result else None
				return results
			except exc.DBAPIError as e:
				if e.connection_invalidated:
					print("Connection was invalidated")
					return e	

	def send_mail_template_html(self):
		with engine.connect() as conn:
			try:
				stmt = text("select * from dob_template where is_active = 1;")
				result = conn.execute(stmt).all()
				results = [dict(r._mapping) for r in result] if result else None
				return results
			except exc.DBAPIError as e:
				if e.connection_invalidated:
					print("Connection was invalidated")
					return e

	def get_testuser_byid(self,user_id):
		with engine.connect() as conn:
			try:
	# 			stmt = text("select  u.user_id, u.NewMemNo,u.prefix,u.sur_name,u.first_name,u.dob,u.email,u.mobile,u.address1,u.address2,u.address3,u.city,u.image_name,u.image_path from test_users u where u.user_id =" +user_id+";")
				stmt = text("select  u.user_id, u.membership_no as NewMemNo,u.prefix,u.full_name,u.dob,u.email,u.mobile,u.address1,u.address2,u.address3,u.city from users u where u.user_id =" +user_id+" and society_id = 2;")
				result = conn.execute(stmt)
				result = result.one_or_none()
				return dict(result._mapping) if result else None
			except exc.DBAPIError as e:
				if e.connection_invalidated:
					print("Connection was invalidated")
					return e	  		
	def insert_mail_data(self, data):
		with engine.connect() as conn:
			try:
				result = conn.execute(self.send_mail_index.insert(), data)
				conn.commit()
				if result:
					return result
				else :
				   return 'fail'
			except exc.DBAPIError as e:
				if e.connection_invalidated:
					print("Connection was invalidated")
					return e	      

	def get_office_bearers_byid(self,office_bearers_id):
		with engine.connect() as conn:
			try:
				stmt    = text(" select * from office_bearers where office_bearers_id = " + str(office_bearers_id) + ";")
				result = conn.execute(stmt)
				result = result.one_or_none()
				return dict(result._mapping) if result else None
			except exc.DBAPIError as e:
				if e.connection_invalidated:
					print("Connection was invalidated")
					return e			

   ###################################		

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists