| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import logging
- import os
- from flask import Flask, send_from_directory
- from flask_cors import CORS
- import route.analyze
- import route.result
- import route.upload
- from config import VERSION_PREFIX, MAX_CONTENT_LENGTH, MYSQL_URI, UPLOAD_DIR
- from db import db
- from route.util import make_response
- app = Flask(__name__)
- cors = CORS(app, resources={r"/*": {"origins": "*"}})
- app.config['MAX_CONTENT_LENGTH'] = MAX_CONTENT_LENGTH
- app.config['SQLALCHEMY_DATABASE_URI'] = MYSQL_URI
- app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
- app.register_blueprint(route.upload.bp, url_prefix=VERSION_PREFIX)
- app.register_blueprint(route.analyze.bp, url_prefix=VERSION_PREFIX)
- app.register_blueprint(route.result.bp, url_prefix=VERSION_PREFIX)
- db.init_app(app)
- with app.app_context():
- # db.drop_all()
- db.create_all()
- try:
- os.mkdir(UPLOAD_DIR + "/result")
- except:
- pass
- try:
- for i in os.listdir(UPLOAD_DIR):
- if i.endswith(".running"):
- os.remove(UPLOAD_DIR + "/" + i)
- except:
- pass
- @app.route("/")
- def hello_world():
- return "<p>Hello, World!</p>"
- @app.route("/file/<path:name>")
- def download_file(name):
- return send_from_directory(UPLOAD_DIR + '/result/', name)
- @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(404)
- def error_handler(e):
- logging.exception(e)
- return make_response(404, "path not found.", {})
- @app.errorhandler(Exception)
- def error_handler(e):
- logging.exception(e)
- return make_response(500, "unknown internal server error.", {})
- if __name__ == '__main__':
- app.run()
|