app_test.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from flask import Flask,render_template
  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. from flask_bootstrap import Bootstrap
  7. import importlib
  8. import os
  9. from file_util import FileUtil
  10. sentry_sdk.init(
  11. dsn="https://e9f173e651684e9080a7b297d51512c7@o382660.ingest.sentry.io/5211871",
  12. integrations=[FlaskIntegration()])
  13. def create_app():
  14. app_instance = Flask(__name__)
  15. app_instance.config.from_object(Config())
  16. blueprint_list = []
  17. path = os.path.dirname(os.path.abspath(__file__)) + r'/blue'
  18. file_list = FileUtil.load_file(path)
  19. for file_path in file_list:
  20. file_name = os.path.split(file_path)[1].split('.')[0]
  21. blueprint_list.append(file_name)
  22. for blueprint in blueprint_list:
  23. auto_blueprint_module = importlib.import_module('blue.' + str(blueprint))
  24. auto_blueprint = auto_blueprint_module.__dict__[blueprint]
  25. app_instance.register_blueprint(auto_blueprint, url_prefix='/' + str(blueprint))
  26. return app_instance
  27. app = create_app()
  28. bt = Bootstrap(app)
  29. @app.route('/')
  30. def index():
  31. return render_template('login-page.html')
  32. if __name__ == '__main__':
  33. scheduler = APScheduler()
  34. scheduler.init_app(app)
  35. scheduler.start()
  36. app.run(
  37. host='127.0.0.1',
  38. port=5001
  39. )