Sindbad~EG File Manager
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