Loading circe/__init__.py +20 −20 Original line number Diff line number Diff line Loading @@ -164,20 +164,20 @@ STATIC_AVAILABLE_TRANSFORMATIONS_JSON = json.dumps( ############################### # WEB SERVER ROUTES # ############################### server = Sanic(name="circe") server = Sanic(name="circe", strict_slashes=True) server.config.REQUEST_TIMEOUT = 60 * 30 server.config.RESPONSE_TIMEOUT = 60 * 30 server.config.KEEP_ALIVE = False @server.route("/") @server.get("/") async def index(request: sanic.request): if CONFIG["CIRCE_ENABLE_WEB_UI"]: return sanic.response.redirect("/ui/") return sanic.response.html(STATIC_HOMEPAGE_HTML) @server.route("/transformations/", methods=["GET"]) @server.get("/transformations/") async def transformations(request: sanic.request): return sanic.response.HTTPResponse( STATIC_AVAILABLE_TRANSFORMATIONS_JSON, Loading @@ -187,7 +187,20 @@ async def transformations(request: sanic.request): ) @server.route("/job/", methods=["POST"]) @server.get("/job/<job_id:str>") async def job_get(request: sanic.request, job_id: str): _check_request_auth(request, job_id) if os.path.isfile("{}/queue/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id)): return sanic.response.HTTPResponse("Accepted", status=202) result_file_path = "{}/done/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id) if os.path.isfile(result_file_path): return await sanic.response.file(result_file_path) # file_stream is slow ? bad chunk size ? # return await sanic.response.file_stream(result_file_path, chunked=False) return sanic.response.HTTPResponse("Not Found", status=404) @server.post("/job/") async def job_post(request: sanic.request): _check_request_auth(request) uuid = uuid4() Loading @@ -207,19 +220,6 @@ async def job_post(request: sanic.request): return sanic.response.text(uuid.hex) @server.route("/job/<job_id>", methods=["GET"]) async def job_get(request: sanic.request, job_id: str): _check_request_auth(request, job_id) if os.path.isfile("{}/queue/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id)): return sanic.response.HTTPResponse("Accepted", status=202) result_file_path = "{}/done/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id) if os.path.isfile(result_file_path): return await sanic.response.file(result_file_path) # file_stream is slow ? bad chunk size ? # return await sanic.response.file_stream(result_file_path, chunked=False) return sanic.response.HTTPResponse("Not Found", status=404) if CONFIG["CIRCE_ENABLE_WEB_UI"]: cookie_signer = Signer(CONFIG["CIRCE_WEB_UI_CRYPT_KEY"]) Loading @@ -232,7 +232,7 @@ if CONFIG["CIRCE_ENABLE_WEB_UI"]: except (BadSignature, TypeError): raise Forbidden("Bad session") @server.route("/ui/", methods=["GET"]) @server.get("/ui/") async def index(request: sanic.request): with open( os.path.dirname(os.path.abspath(__file__)) + "/static/index.html", "r" Loading Loading @@ -275,7 +275,7 @@ if CONFIG["CIRCE_ENABLE_WEB_UI"]: await _write_file(os.path.join(dir_to_create, dest_name), uploaded.body) return sanic.response.HTTPResponse(request.files.get("file").name, status=200) @server.route("/webui/setjob/", methods=["POST"]) @server.post("/webui/setjob/") async def set_job(request: sanic.request): session_id = _check_request_session(request) session_dir = "{}web_ui_sessions/{}".format( Loading Loading @@ -312,7 +312,7 @@ if CONFIG["CIRCE_ENABLE_WEB_UI"]: return sanic.response.HTTPResponse("ok", status=200) return sanic.response.HTTPResponse("Bad Request", status=400) @server.route("/webui/fetchjob/", methods=["GET"]) @server.get("/webui/fetchjob/") async def fetch_job(request: sanic.request): session_id = _check_request_session(request) job_id = session_id Loading setup.py +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="circe-CERTIC", version="0.0.23", version="0.0.24", author="Mickaël Desfrênes", author_email="mickael.desfrenes@unicaen.fr", description="Circe server", Loading Loading
circe/__init__.py +20 −20 Original line number Diff line number Diff line Loading @@ -164,20 +164,20 @@ STATIC_AVAILABLE_TRANSFORMATIONS_JSON = json.dumps( ############################### # WEB SERVER ROUTES # ############################### server = Sanic(name="circe") server = Sanic(name="circe", strict_slashes=True) server.config.REQUEST_TIMEOUT = 60 * 30 server.config.RESPONSE_TIMEOUT = 60 * 30 server.config.KEEP_ALIVE = False @server.route("/") @server.get("/") async def index(request: sanic.request): if CONFIG["CIRCE_ENABLE_WEB_UI"]: return sanic.response.redirect("/ui/") return sanic.response.html(STATIC_HOMEPAGE_HTML) @server.route("/transformations/", methods=["GET"]) @server.get("/transformations/") async def transformations(request: sanic.request): return sanic.response.HTTPResponse( STATIC_AVAILABLE_TRANSFORMATIONS_JSON, Loading @@ -187,7 +187,20 @@ async def transformations(request: sanic.request): ) @server.route("/job/", methods=["POST"]) @server.get("/job/<job_id:str>") async def job_get(request: sanic.request, job_id: str): _check_request_auth(request, job_id) if os.path.isfile("{}/queue/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id)): return sanic.response.HTTPResponse("Accepted", status=202) result_file_path = "{}/done/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id) if os.path.isfile(result_file_path): return await sanic.response.file(result_file_path) # file_stream is slow ? bad chunk size ? # return await sanic.response.file_stream(result_file_path, chunked=False) return sanic.response.HTTPResponse("Not Found", status=404) @server.post("/job/") async def job_post(request: sanic.request): _check_request_auth(request) uuid = uuid4() Loading @@ -207,19 +220,6 @@ async def job_post(request: sanic.request): return sanic.response.text(uuid.hex) @server.route("/job/<job_id>", methods=["GET"]) async def job_get(request: sanic.request, job_id: str): _check_request_auth(request, job_id) if os.path.isfile("{}/queue/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id)): return sanic.response.HTTPResponse("Accepted", status=202) result_file_path = "{}/done/{}.tar.gz".format(CONFIG["CIRCE_WORKING_DIR"], job_id) if os.path.isfile(result_file_path): return await sanic.response.file(result_file_path) # file_stream is slow ? bad chunk size ? # return await sanic.response.file_stream(result_file_path, chunked=False) return sanic.response.HTTPResponse("Not Found", status=404) if CONFIG["CIRCE_ENABLE_WEB_UI"]: cookie_signer = Signer(CONFIG["CIRCE_WEB_UI_CRYPT_KEY"]) Loading @@ -232,7 +232,7 @@ if CONFIG["CIRCE_ENABLE_WEB_UI"]: except (BadSignature, TypeError): raise Forbidden("Bad session") @server.route("/ui/", methods=["GET"]) @server.get("/ui/") async def index(request: sanic.request): with open( os.path.dirname(os.path.abspath(__file__)) + "/static/index.html", "r" Loading Loading @@ -275,7 +275,7 @@ if CONFIG["CIRCE_ENABLE_WEB_UI"]: await _write_file(os.path.join(dir_to_create, dest_name), uploaded.body) return sanic.response.HTTPResponse(request.files.get("file").name, status=200) @server.route("/webui/setjob/", methods=["POST"]) @server.post("/webui/setjob/") async def set_job(request: sanic.request): session_id = _check_request_session(request) session_dir = "{}web_ui_sessions/{}".format( Loading Loading @@ -312,7 +312,7 @@ if CONFIG["CIRCE_ENABLE_WEB_UI"]: return sanic.response.HTTPResponse("ok", status=200) return sanic.response.HTTPResponse("Bad Request", status=400) @server.route("/webui/fetchjob/", methods=["GET"]) @server.get("/webui/fetchjob/") async def fetch_job(request: sanic.request): session_id = _check_request_session(request) job_id = session_id Loading
setup.py +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="circe-CERTIC", version="0.0.23", version="0.0.24", author="Mickaël Desfrênes", author_email="mickael.desfrenes@unicaen.fr", description="Circe server", Loading