diff --git a/Dockerfile b/Dockerfile index 91058b6e1cc012d8f53da9c33d1ee4b9a885162e..61b2e76670e8684eaf6607be83cf9513f542a41f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,4 +12,4 @@ WORKDIR /opt/mc_openapi ENV UVICORN_PORT=8080 \ UVICORN_HOST=0.0.0.0 -CMD ["uvicorn", "--interface", "wsgi", "mc_openapi.app_config:app"] +CMD ["uvicorn", "--interface", "wsgi", "mc_openapi.fastapi:app"] diff --git a/mc_openapi/app_config.py b/mc_openapi/app_config.py deleted file mode 100644 index 869bdba07f84d0bffa6bb94762306111e6b425da..0000000000000000000000000000000000000000 --- a/mc_openapi/app_config.py +++ /dev/null @@ -1,12 +0,0 @@ -import connexion -from flask import render_template - -app = connexion.App(__name__, specification_dir='openapi/') -app.add_api('model_checker.yaml') - -@app.route("/") -def home(): - return render_template('home.html') - - -application = app.app diff --git a/mc_openapi/handlers.py b/mc_openapi/handlers.py deleted file mode 100644 index bda0ad13bb3060d31933daaeb47951b8db5d6814..0000000000000000000000000000000000000000 --- a/mc_openapi/handlers.py +++ /dev/null @@ -1,76 +0,0 @@ -import datetime -import logging -import os - -from flask import render_template - -from mc_openapi.doml_mc.intermediate_model.metamodel import DOMLVersion -from mc_openapi.doml_mc import verify_model, init_model, verify_csp_compatibility -from .doml_mc import MCResult - - -def make_error(user_msg, debug_msg=None): - result = {"message": user_msg, "timestamp": datetime.datetime.now()} - if debug_msg is not None: - result["debug_message"] = debug_msg - logging.error(debug_msg) - return result - - -def modelcheck(body, version=None): - return mc(body, version) - -def modelcheck_html(body, version=None): - return mc(body, version, isHtml=True) - -def mc(body, version, isHtml = False): - doml_xmi = body - doml_version_str: str = None - doml_version: DOMLVersion = None - try: - # First try to infer DOML version from ENV, then query params - doml_version_str = os.environ.get("DOML_VERSION") or version - - if doml_version_str: - doml_version = DOMLVersion.get(doml_version_str) - logging.info(f"Forcing DOML {doml_version.value}") - - dmc = init_model(doml_xmi, doml_version) - - res = verify_model(dmc) - - res['doml_version'] = dmc.doml_version.value - res['result'] = res['result'].name - - if isHtml: - res |= res.get('csp', {}) - return render_template('mc.html.jinja', **res).replace('\n', '') - else: - return res - - except Exception as e: - return make_error("The supplied DOMLX model is malformed or its DOML version is unsupported.", debug_msg=str(e)), 400 - -def csp(body, version=None): - doml_xmi = body - doml_version_str: str = None - doml_version: DOMLVersion = None - try: - # First try to infer DOML version from ENV, then query params - doml_version_str = os.environ.get("DOML_VERSION") or version - - if doml_version_str: - doml_version = DOMLVersion.get(doml_version_str) - logging.info(f"Forcing DOML {doml_version.value}") - - dmc = init_model(doml_xmi, doml_version) - - return verify_csp_compatibility(dmc) - - - except Exception as e: - return make_error("The supplied DOMLX model is malformed or its DOML version is unsupported.", debug_msg=str(e)), 400 - -def csp_html(body, version=None): - ret = csp(body, version) - return render_template('csp.html.jinja', **ret).replace('\n', '')