Sindbad~EG File Manager

Current Path : /home/numerotech/status.numerotech.com/status_app/core/
Upload File :
Current File : //home/numerotech/status.numerotech.com/status_app/core/__init__.py

from flask import Flask,render_template,request
from flask_session import Session
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()
# logging.getLogger('werkzeug').disabled = True
# os.environ['WERKZEUG_RUN_MAIN'] = 'true'

config = app.config
from core.library.cryptography import Cryptography
from core.library.auth import Auth
from core.library.route_group import RouteGroup
# from core.library.helper import Helper
from core.model.Log import Log

current_app = app

# Conf = ""

# @app.before_request
# def before_request_func():
#     Conf = "DEMO"
#     print("before_request executing!")

from core.controller.BackofficeController import app as backoffice
app.register_blueprint(backoffice, 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,
                'app_type'      : 'Abstract',
                '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)

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