12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/usr/bin/env python3
- # encoding:utf-8
- import logging
- import traceback
- from .config import BaseConfig
- from flask import Flask, request, render_template_string
- from flask_sqlalchemy import SQLAlchemy
- from flask_cors import CORS
- from .constant import error_response
- from .exception import BizException
- db = SQLAlchemy()
- logging.getLogger('apscheduler').setLevel(logging.CRITICAL)
- def create_app():
- _app = Flask(__name__)
- # 添加配置文件
- _app.config.from_object(BaseConfig)
- db.init_app(_app)
- CORS(_app)
- # with app.app_context():
- # from . import views # Import routes
- # # from src.core.voip.bot import BotAgent
- # from .call import CallService
- # from .agent import AgentService, AgentOperService
- # from .esl.client import InboundClient, OutboundClient
- #
- # # agent = BotAgent(_app.logger)
- # agent, _outbound_client = None, None
- # _inbound_client = InboundClient(agent, _app.logger)
- # _outbound_client = OutboundClient(agent, _app.logger)
- # _call_service = CallService(_inbound_client, _app.logger)
- # _agent_service = AgentService(_inbound_client, _app.logger)
- # _agent_oper_service = AgentOperService(_inbound_client, _app.logger)
- # return _app, _inbound_client, _outbound_client, _call_service , _agent_service, _agent_oper_service
- return _app
- app = create_app()
- @app.errorhandler(BizException)
- def handle_biz_exception(error):
- traceback.print_exc()
- return error_response(msg=str(error), http_code=200)
- # Generic error handler for uncaught exceptions
- @app.errorhandler(Exception)
- def handle_generic_exception(error):
- traceback.print_exc()
- return error_response(msg=str(error), http_code=500)
- # Specific error handler for 404 Not Found errors
- @app.errorhandler(404)
- def handle_404_error(error):
- return error_response(msg="Resource not found", http_code=404)
- # Specific error handler for 400 Bad Request errors
- @app.errorhandler(400)
- def handle_400_error(error):
- return error_response(msg="Bad Request", http_code=400)
|