[feat] try handling missing folder at WRITE_TMP_ON_DISK env
Browse files
wrappers/fastapi_wrapper.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import json
|
| 2 |
import os
|
| 3 |
import uuid
|
|
|
|
| 4 |
|
| 5 |
from fastapi import FastAPI, HTTPException, Request, status
|
| 6 |
from fastapi.exceptions import RequestValidationError
|
|
@@ -129,7 +130,12 @@ async def http_exception_handler(request: Request, exc: HTTPException) -> JSONRe
|
|
| 129 |
write_tmp_on_disk = os.getenv("WRITE_TMP_ON_DISK", "")
|
| 130 |
app_logger.info(f"write_tmp_on_disk:{write_tmp_on_disk}.")
|
| 131 |
if bool(write_tmp_on_disk):
|
| 132 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 133 |
templates = Jinja2Templates(directory=PROJECT_ROOT_FOLDER / "static")
|
| 134 |
|
| 135 |
|
|
|
|
| 1 |
import json
|
| 2 |
import os
|
| 3 |
import uuid
|
| 4 |
+
import pathlib
|
| 5 |
|
| 6 |
from fastapi import FastAPI, HTTPException, Request, status
|
| 7 |
from fastapi.exceptions import RequestValidationError
|
|
|
|
| 130 |
write_tmp_on_disk = os.getenv("WRITE_TMP_ON_DISK", "")
|
| 131 |
app_logger.info(f"write_tmp_on_disk:{write_tmp_on_disk}.")
|
| 132 |
if bool(write_tmp_on_disk):
|
| 133 |
+
try:
|
| 134 |
+
app.mount("/vis_output", StaticFiles(directory=write_tmp_on_disk), name="vis_output")
|
| 135 |
+
except RuntimeError:
|
| 136 |
+
pathlib.Path.unlink(write_tmp_on_disk, missing_ok=True)
|
| 137 |
+
os.makedirs(write_tmp_on_disk, exist_ok=True)
|
| 138 |
+
app.mount("/vis_output", StaticFiles(directory=write_tmp_on_disk), name="vis_output")
|
| 139 |
templates = Jinja2Templates(directory=PROJECT_ROOT_FOLDER / "static")
|
| 140 |
|
| 141 |
|