meal_homework/mealapi/app.py
Torma Kristóf 00cacf77b7
All checks were successful
continuous-integration/drone/push Build is passing
all resources done
2022-02-13 22:32:40 +01:00

39 lines
952 B
Python

#!/usr/bin/env python3
from flask import Flask
from flask_restful import Api
from healthcheck import HealthCheck
from utils import Config, register_all_error_handlers, health_database_status
from model import db
from schemas import ma
from resources import MealBaseResource, MealIndividualResource
app = Flask(__name__)
app.config.from_object(Config)
api = Api(app)
health = HealthCheck()
ma.init_app(app)
db.init_app(app)
@app.before_first_request
def init_db():
db.create_all()
api.add_resource(MealBaseResource, "/meals")
api.add_resource(MealIndividualResource, "/meals/<mealid>")
health.add_check(health_database_status)
register_all_error_handlers(app)
app.add_url_rule("/healthz", "healthcheck", view_func=lambda: health.run())
if __name__ != '__main__':
import logging
gunicorn_logger = logging.getLogger('gunicorn.error')
app.logger.handlers = gunicorn_logger.handlers
app.logger.setLevel(gunicorn_logger.level)