Coverage for demo_server/app.py: 97%
36 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-10-07 05:12 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-10-07 05:12 +0000
1# Copyright (c) Microsoft Corporation.
2# Licensed under the MIT License.
4import sys, os
7sys.path.append(os.getcwd())
8sys.path.append(os.path.dirname(os.getcwd()))
10import logging.config
11import json
12from flask import Flask, Blueprint
13from demo_server import settings
14from demo_server.database.models import db
15from demo_server.api.blog.endpoints.posts import ns as blog_posts_namespace
16# from demo_server.api.blog.endpoints.categories import ns\
17# as blog_categories_namespace
18from demo_server.api.restplus import api
19from werkzeug.serving import WSGIRequestHandler
20WSGIRequestHandler.protocol_version = "HTTP/1.1"
22app = Flask(__name__)
23logging.config.fileConfig('logging.conf')
24log = logging.getLogger(__name__)
27def configure_app(flask_app):
28 flask_app.config['SERVER_NAME'] = settings.FLASK_SERVER_NAME
29 flask_app.config['SQLALCHEMY_DATABASE_URI'] =\
30 settings.SQLALCHEMY_DATABASE_URI
31 flask_app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] =\
32 settings.SQLALCHEMY_TRACK_MODIFICATIONS
33 flask_app.config['SWAGGER_UI_DOC_EXPANSION'] =\
34 settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION
35 flask_app.config['RESTPLUS_VALIDATE'] = settings.RESTPLUS_VALIDATE
36 flask_app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER
37 flask_app.config['ERROR_404_HELP'] = settings.RESTPLUS_ERROR_404_HELP
40def initialize_app(flask_app):
41 configure_app(flask_app)
43 blueprint = Blueprint('api', __name__, url_prefix='/api')
44 api.init_app(blueprint)
45 api.add_namespace(blog_posts_namespace)
46 # api.add_namespace(blog_categories_namespace)
47 flask_app.register_blueprint(blueprint)
49 db.init_app(flask_app)
52def main():
53 initialize_app(app)
54 # with app.app_context():
55 # db.create_all()
56 log.info('>>>>> Starting development server at http://{}/api/ <<<<<'.format(app.config['SERVER_NAME']))
57 app.run(threaded=True, use_reloader=False, debug=settings.FLASK_DEBUG)
59if __name__ == "__main__": 59 ↛ exitline 59 didn't exit the module because the condition on line 59 was always true
60 main()