1
0
Fork 0

fix(api): load lists without empty items

This commit is contained in:
Sean Sube 2023-11-24 22:40:22 -06:00
parent 44a23a6366
commit 9e930a91d5
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
2 changed files with 17 additions and 9 deletions

View File

@ -5,7 +5,7 @@ from typing import List, Optional
import torch import torch
from ..utils import get_boolean from ..utils import get_boolean, get_list
from .model_cache import ModelCache from .model_cache import ModelCache
logger = getLogger(__name__) logger = getLogger(__name__)
@ -106,20 +106,19 @@ class ServerContext:
model_path=environ.get("ONNX_WEB_MODEL_PATH", path.join("..", "models")), model_path=environ.get("ONNX_WEB_MODEL_PATH", path.join("..", "models")),
output_path=environ.get("ONNX_WEB_OUTPUT_PATH", path.join("..", "outputs")), output_path=environ.get("ONNX_WEB_OUTPUT_PATH", path.join("..", "outputs")),
params_path=environ.get("ONNX_WEB_PARAMS_PATH", "."), params_path=environ.get("ONNX_WEB_PARAMS_PATH", "."),
# others cors_origin=get_list(environ, "ONNX_WEB_CORS_ORIGIN", "*"),
cors_origin=environ.get("ONNX_WEB_CORS_ORIGIN", "*").split(","),
any_platform=get_boolean( any_platform=get_boolean(
environ, "ONNX_WEB_ANY_PLATFORM", DEFAULT_ANY_PLATFORM environ, "ONNX_WEB_ANY_PLATFORM", DEFAULT_ANY_PLATFORM
), ),
block_platforms=environ.get("ONNX_WEB_BLOCK_PLATFORMS", "").split(","), block_platforms=get_list(environ, "ONNX_WEB_BLOCK_PLATFORMS", ""),
default_platform=environ.get("ONNX_WEB_DEFAULT_PLATFORM", None), default_platform=environ.get("ONNX_WEB_DEFAULT_PLATFORM", None),
image_format=environ.get("ONNX_WEB_IMAGE_FORMAT", "png"), image_format=environ.get("ONNX_WEB_IMAGE_FORMAT", DEFAULT_IMAGE_FORMAT),
cache_limit=int(environ.get("ONNX_WEB_CACHE_MODELS", DEFAULT_CACHE_LIMIT)), cache_limit=int(environ.get("ONNX_WEB_CACHE_MODELS", DEFAULT_CACHE_LIMIT)),
show_progress=get_boolean( show_progress=get_boolean(
environ, "ONNX_WEB_SHOW_PROGRESS", DEFAULT_SHOW_PROGRESS environ, "ONNX_WEB_SHOW_PROGRESS", DEFAULT_SHOW_PROGRESS
), ),
optimizations=environ.get("ONNX_WEB_OPTIMIZATIONS", "").split(","), optimizations=get_list(environ, "ONNX_WEB_OPTIMIZATIONS", ""),
extra_models=environ.get("ONNX_WEB_EXTRA_MODELS", "").split(","), extra_models=get_list(environ, "ONNX_WEB_EXTRA_MODELS", ""),
job_limit=int(environ.get("ONNX_WEB_JOB_LIMIT", DEFAULT_JOB_LIMIT)), job_limit=int(environ.get("ONNX_WEB_JOB_LIMIT", DEFAULT_JOB_LIMIT)),
memory_limit=memory_limit, memory_limit=memory_limit,
admin_token=environ.get("ONNX_WEB_ADMIN_TOKEN", None), admin_token=environ.get("ONNX_WEB_ADMIN_TOKEN", None),
@ -129,8 +128,8 @@ class ServerContext:
worker_retries=int( worker_retries=int(
environ.get("ONNX_WEB_WORKER_RETRIES", DEFAULT_WORKER_RETRIES) environ.get("ONNX_WEB_WORKER_RETRIES", DEFAULT_WORKER_RETRIES)
), ),
feature_flags=environ.get("ONNX_WEB_FEATURE_FLAGS", "").split(","), feature_flags=get_list(environ, "ONNX_WEB_FEATURE_FLAGS", ""),
plugins=environ.get("ONNX_WEB_PLUGINS", "").split(","), plugins=get_list(environ, "ONNX_WEB_PLUGINS", ""),
debug=get_boolean(environ, "ONNX_WEB_DEBUG", False), debug=get_boolean(environ, "ONNX_WEB_DEBUG", False),
) )

View File

@ -18,6 +18,11 @@ logger = getLogger(__name__)
SAFE_CHARS = "._-" SAFE_CHARS = "._-"
def split_list(val: str) -> List[str]:
parts = [part.strip() for part in val.split(",")]
return [part for part in parts if len(part.strip()) > 0]
def base_join(base: str, tail: str) -> str: def base_join(base: str, tail: str) -> str:
tail_path = path.relpath(path.normpath(path.join("/", tail)), "/") tail_path = path.relpath(path.normpath(path.join("/", tail)), "/")
return path.join(base, tail_path) return path.join(base, tail_path)
@ -36,6 +41,10 @@ def get_boolean(args: Any, key: str, default_value: bool) -> bool:
return val.lower() in ("1", "t", "true", "y", "yes") return val.lower() in ("1", "t", "true", "y", "yes")
def get_list(args: Any, key: str) -> List[str]:
return split_list(args.get(key, ""))
def get_and_clamp_float( def get_and_clamp_float(
args: Any, key: str, default_value: float, max_value: float, min_value=0.0 args: Any, key: str, default_value: float, max_value: float, min_value=0.0
) -> float: ) -> float: