|
- # Copyright 2019 Huawei Technologies Co., Ltd
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- # ============================================================================
- """Static resource api."""
- import os
- import sys
-
- from flask import current_app
- from flask import make_response
- from flask import redirect
- from flask import Blueprint
-
- from mindinsight.conf import settings
-
-
- BLUEPRINT = Blueprint("static_resource", __name__, url_prefix=settings.URL_PATH_PREFIX)
-
-
- @BLUEPRINT.route("/", methods=["GET"])
- def index():
- """Interface to return index.html."""
- app_path = os.path.realpath(os.path.dirname(sys.argv[0]))
- index_html_file = os.path.realpath(os.path.join(app_path, current_app.static_folder, os.pardir, 'index.html'))
- with open(index_html_file, 'r') as file_pointer:
- html_content = file_pointer.read()
- return make_response(html_content)
-
-
- @BLUEPRINT.route("/graphvizlib.wasm", methods=["GET"])
- def return_wasm_file():
- """
- Interface to redirect graphvizlib.wasm
-
- When accessing the graphvizlib.wasm file in front module via Firefox browser, the file path will change to
- "/graphvizlib.wasm" which makes the computed diagram inaccessible. Redirecting the path to correct address can
- ensure the computed graph accessible properly.
- """
- return redirect(location="static/js/graphvizlib.wasm")
-
-
- def init_module(app):
- """
- Init module entry.
-
- Args:
- app: the application obj.
- """
- app.register_blueprint(BLUEPRINT)
|