Sindbad~EG File Manager

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

from flask import Flask, url_for, request ,redirect
# from flask_socketio import SocketIO, emit
import os, time
import datetime
from datetime import datetime as dt
import traceback
import logging
import apscheduler.schedulers.background


app = Flask(__name__)
# scheduler = APScheduler()
app.scheduler = apscheduler.schedulers.background.BackgroundScheduler()
app.scheduler.start()




app.config.from_object('core.config.SECRET_KEY')
app.config.from_object('core.config.ProductionConfig')




# the below 2 lines comment by ganesan
# os.environ['TZ'] ='Asia/Calcutta'
# time.tzset()



config = app.config
from core.library.helper import Helper
from core.model.Log import Log

current_app = app

# socketio = SocketIO(app)

# from core import routes
from core.controller.UserController import app as user



app.register_blueprint(user, 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':dt.now(),
                'ip_address':ip
            }    
        Log().insert(data)    
        # log = Log(
        #     logger=record.__dict__['name'],
        #     level=record.__dict__['levelname'],
        #     trace=trace,
        #     msg=record.__dict__['msg'],)
        # DB.session.add(log)
        # DB.session.commit()

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.before_request
# def before_request():
#     if request.url.startswith('http://'):
#         print("http")
#         url = request.url.replace('http://', 'https://', 1)
#         code = 301
#         return redirect(url, code=code)

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