Sindbad~EG File Manager

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

import eventlet
eventlet.monkey_patch()

from flask import Flask, render_template, request, has_request_context
from flask_session import Session
import os, time
import datetime
from datetime import timedelta, date, datetime
import traceback
import logging
from flask_socketio import SocketIO
from flask_cors import CORS  # Import the CORS module

app = Flask(__name__)

# Allow CORS for a specific domain (whatsapp.numerotech.com)
CORS(app, resources={r"/*": {"origins": "https://whatsapp.numerotech.com"}})

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

# Initialize SocketIO with CORS configuration
socketio = SocketIO(app, async_mode='eventlet', cors_allowed_origins="https://whatsapp.numerotech.com")


Session(app)

os.environ['TZ'] = 'Asia/Calcutta'
time.tzset()

path_wkhtmltopdf = "C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe"
is_windows_os = 0

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
import core.library.jinjaCustom

current_app = app

from core.controller.WhatsappController import app as whatsapp
app.register_blueprint(whatsapp, url_prefix='')

from core.controller.TestController import app as test
app.register_blueprint(test, url_prefix='')


@app.errorhandler(404)
def page_not_found(e):
	return render_template('404.html'), 404


class SQLAlchemyHandler(logging.Handler):
	def emit(self, record):
		trace = None
		exc = record.__dict__['exc_info']
		if exc:
			trace = traceback.format_exc()

		# Ensure request is accessed only when inside a request context
		if has_request_context():
			path = request.path
			method = request.method
			ip = request.remote_addr
			host = request.host
		else:
			path = None
			method = None
			ip = None
			host = None

		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': None,
			'app_type': Helper.AppType,
			'host_url': host
		}

		if record.__dict__['name'] != 'sqlalchemy.pool.impl.QueuePool':
			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('users/404.html'), 404


@app.errorhandler(500)
def internal_server_error(e):
	return render_template('users/500.html'), 500

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