app_test.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from flask import Flask
  2. import sentry_sdk
  3. from sentry_sdk.integrations.flask import FlaskIntegration
  4. from apscheduler_elab import Config
  5. from flask_apscheduler import APScheduler
  6. import importlib
  7. import os
  8. from file_util import FileUtil
  9. sentry_sdk.init(
  10. dsn="https://e9f173e651684e9080a7b297d51512c7@o382660.ingest.sentry.io/5211871",
  11. integrations=[FlaskIntegration()])
  12. def create_app():
  13. app_instance = Flask(__name__)
  14. app.config.from_object(Config())
  15. blueprint_list = []
  16. path = os.path.dirname(os.path.abspath(__file__)) + r'/blue'
  17. file_list = FileUtil.load_file(path)
  18. for file_path in file_list:
  19. file_name = os.path.split(file_path)[1].split('.')[0]
  20. blueprint_list.append(file_name)
  21. for blueprint in blueprint_list:
  22. auto_blueprint_module = importlib.import_module('blue.' + str(blueprint))
  23. auto_blueprint = auto_blueprint_module.__dict__[blueprint]
  24. app.register_blueprint(auto_blueprint, url_prefix='/' + str(blueprint))
  25. return app_instance
  26. app = create_app()
  27. if __name__ == '__main__':
  28. scheduler = APScheduler()
  29. scheduler.init_app(app)
  30. scheduler.start()
  31. app.run(
  32. host='0.0.0.0',
  33. port=5001
  34. )