Sindbad~EG File Manager
from flask import Flask,render_template,request
from flask_session import Session
from sqlalchemy import create_engine
import os,time
import datetime
from datetime import timedelta,date,datetime
import traceback
import logging
app = Flask(__name__)
app.config.from_object('core.config.SECRET_KEY')
app.config.from_object('core.config.ProductionConfig')
Session(app)
os.environ['TZ'] ='Asia/Calcutta'
# time.tzset()
config = app.config
from core.library.auth import Auth
from core.library.route_group import RouteGroup
from core.library.cryptography import Cryptography
from core.library.helper import Helper
from core.library.custom import Custom
from core.model.Log import Log
engine = create_engine(app.config['DATABASE_URI'],pool_size=5000,pool_recycle=3600,pool_pre_ping=True)
# engine_conf_db = create_engine(app.config['DATABASE_URI_CONF'],pool_recycle=3600,pool_pre_ping=True)
# engine_fk_db = create_engine(app.config['DATABASE_URI_FK'],pool_recycle=3600,pool_pre_ping=True)
from core.controller.ConfDashboardController import app as confdashboard
app.register_blueprint(confdashboard, url_prefix='')
from core.controller.AccessRequestController import app as access_request
app.register_blueprint(access_request, url_prefix='')
from core.controller.LoginController import app as login
app.register_blueprint(login, url_prefix='')
class SQLAlchemyHandler(logging.Handler):
def emit(self, record):
trace = None
exc = record.__dict__['exc_info']
if exc:
trace = traceback.format_exc()
path = request.path
method = request.method
ip = request.remote_addr
data = {
'url' : path,
'logger_name' : record.__dict__['name'],
'level' : record.__dict__['levelname'],
'context' : trace,
'message' : record.__dict__['msg'],
'created_at' : datetime.now(),
'ip_address' : ip,
'user_id' : "",
'app_type' : Helper.AppType,
'host_url' : request.host
}
Log().insert(data)
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
ch = SQLAlchemyHandler()
ch.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
loggers = [logger, logging.getLogger('sqlalchemy'), logging.getLogger('flask.app')]
for l in loggers:
l.addHandler(ch)
@app.errorhandler(404)
def page_not_found(e):
return render_template('error_log/404.html'),404
@app.errorhandler(500)
def page_not_found(e):
return render_template('error_log/500.html'),500
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists