| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- from concurrent.futures import ThreadPoolExecutor
- import logging
- from flask import Flask
- import route.upload
- from config import VERSION_PREFIX, MAX_CONTENT_LENGTH
- from route.util import make_response
- from db import db
- app = Flask(__name__)
- app.config['MAX_CONTENT_LENGTH'] = MAX_CONTENT_LENGTH
- pool = ThreadPoolExecutor(max_workers=2)
- app.config['SQLALCHEMY_DATABASE_URI'] = f'mysql://{MYSQL_USERNAME}:{MYSQL_PASSWORD}@{MYSQL_ADDRESS}/{MYSQL_DATABASE}'
- app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
- db.init_app(app)
- with app.app_context():
- # db.drop_all()
- db.create_all()
- @app.route("/")
- def hello_world():
- return "<p>Hello, World!</p>"
- app.register_blueprint(route.upload.bp, url_prefix=VERSION_PREFIX)
- @app.errorhandler(413)
- def error_handler(e):
- logging.exception(e)
- return make_response(413, "entity too large, max acceptable: " + str(MAX_CONTENT_LENGTH) + " bytes", {})
- @app.errorhandler(Exception)
- def error_handler(e):
- logging.exception(e)
- return make_response(500, "unknown internal server error.", {})
- if __name__ == '__main__':
- app.run()
|