Coverage for demo_server/app.py: 97%

36 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-12-05 15:36 +0000

1# Copyright (c) Microsoft Corporation. 

2# Licensed under the MIT License. 

3 

4import sys, os 1a

5 

6 

7sys.path.append(os.getcwd()) 1a

8sys.path.append(os.path.dirname(os.getcwd())) 1a

9 

10import logging.config 1a

11import json 1a

12from flask import Flask, Blueprint 1a

13from demo_server import settings 1a

14from demo_server.database.models import db 1a

15from demo_server.api.blog.endpoints.posts import ns as blog_posts_namespace 1a

16# from demo_server.api.blog.endpoints.categories import ns\ 

17# as blog_categories_namespace 

18from demo_server.api.restplus import api 1a

19from werkzeug.serving import WSGIRequestHandler 1a

20WSGIRequestHandler.protocol_version = "HTTP/1.1" 1a

21 

22app = Flask(__name__) 1a

23logging.config.fileConfig('logging.conf') 1a

24log = logging.getLogger(__name__) 1a

25 

26 

27def configure_app(flask_app): 1a

28 flask_app.config['SERVER_NAME'] = settings.FLASK_SERVER_NAME 1a

29 flask_app.config['SQLALCHEMY_DATABASE_URI'] =\ 1a

30 settings.SQLALCHEMY_DATABASE_URI 

31 flask_app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] =\ 1a

32 settings.SQLALCHEMY_TRACK_MODIFICATIONS 

33 flask_app.config['SWAGGER_UI_DOC_EXPANSION'] =\ 1a

34 settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION 

35 flask_app.config['RESTPLUS_VALIDATE'] = settings.RESTPLUS_VALIDATE 1a

36 flask_app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER 1a

37 flask_app.config['ERROR_404_HELP'] = settings.RESTPLUS_ERROR_404_HELP 1a

38 

39 

40def initialize_app(flask_app): 1a

41 configure_app(flask_app) 1a

42 

43 blueprint = Blueprint('api', __name__, url_prefix='/api') 1a

44 api.init_app(blueprint) 1a

45 api.add_namespace(blog_posts_namespace) 1a

46 # api.add_namespace(blog_categories_namespace) 

47 flask_app.register_blueprint(blueprint) 1a

48 

49 db.init_app(flask_app) 1a

50 

51 

52def main(): 1a

53 initialize_app(app) 1a

54 # with app.app_context(): 

55 # db.create_all() 

56 log.info('>>>>> Starting development server at http://{}/api/ <<<<<'.format(app.config['SERVER_NAME'])) 1a

57 app.run(threaded=True, use_reloader=False, debug=settings.FLASK_DEBUG) 1a

58 

59if __name__ == "__main__": 59 ↛ exitline 59 didn't exit the module because the condition on line 59 was always true1a

60 main() 1a