mirror of
https://github.com/rommapp/romm.git
synced 2026-03-03 02:27:00 +00:00
bullsht
This commit is contained in:
@@ -42,8 +42,8 @@ FRONTEND_RESOURCES_PATH: Final[str] = "/assets/romm/resources"
|
||||
SEVEN_ZIP_TIMEOUT: Final[int] = safe_int(_get_env("SEVEN_ZIP_TIMEOUT"), 60)
|
||||
|
||||
# DATABASE
|
||||
DB_HOST: Final[str | None] = _get_env("DB_HOST", "127.0.0.1")
|
||||
DB_PORT: Final[int | None] = safe_int(_get_env("DB_PORT"), 3306)
|
||||
DB_HOST: Final[str | None] = _get_env("DB_HOST")
|
||||
DB_PORT: Final[int | None] = safe_int(_get_env("DB_PORT"))
|
||||
DB_USER: Final[str | None] = _get_env("DB_USER")
|
||||
DB_PASSWD: Final[str | None] = _get_env("DB_PASSWD")
|
||||
DB_NAME: Final[str] = _get_env("DB_NAME", "romm")
|
||||
@@ -51,8 +51,8 @@ DB_QUERY_JSON: Final[str | None] = _get_env("DB_QUERY_JSON")
|
||||
ROMM_DB_DRIVER: Final[str] = _get_env("ROMM_DB_DRIVER", "mariadb")
|
||||
|
||||
# REDIS
|
||||
REDIS_HOST: Final[str] = _get_env("REDIS_HOST", "127.0.0.1")
|
||||
REDIS_PORT: Final[int] = safe_int(_get_env("REDIS_PORT"), 6379)
|
||||
REDIS_HOST: Final[str | None] = _get_env("REDIS_HOST")
|
||||
REDIS_PORT: Final[int | None] = safe_int(_get_env("REDIS_PORT"))
|
||||
REDIS_PASSWORD: Final[str | None] = _get_env("REDIS_PASSWORD")
|
||||
REDIS_USERNAME: Final[str | None] = _get_env("REDIS_USERNAME")
|
||||
REDIS_DB: Final[int] = safe_int(_get_env("REDIS_DB"), 0)
|
||||
@@ -62,7 +62,7 @@ REDIS_URL: Final[str] = str(
|
||||
scheme="rediss" if REDIS_SSL else "redis",
|
||||
user=REDIS_USERNAME or None,
|
||||
password=REDIS_PASSWORD or None,
|
||||
host=REDIS_HOST,
|
||||
host=REDIS_HOST or "127.0.0.1",
|
||||
port=REDIS_PORT,
|
||||
path=f"/{REDIS_DB}",
|
||||
)
|
||||
|
||||
@@ -151,13 +151,7 @@ class ConfigManager:
|
||||
log.critical(f"{hl(ROMM_DB_DRIVER)} database not supported")
|
||||
sys.exit(3)
|
||||
|
||||
username = DB_USER
|
||||
password = DB_PASSWD
|
||||
host = DB_HOST
|
||||
port = DB_PORT
|
||||
database = DB_NAME
|
||||
|
||||
if not username or not password:
|
||||
if not DB_USER or not DB_PASSWD:
|
||||
log.critical(
|
||||
"Missing database credentials, check your environment variables!"
|
||||
)
|
||||
@@ -171,17 +165,13 @@ class ConfigManager:
|
||||
log.critical(f"Invalid JSON in DB_QUERY_JSON: {exc}")
|
||||
sys.exit(3)
|
||||
|
||||
# Unset host/port if using query to connect
|
||||
host = None
|
||||
port = None
|
||||
|
||||
return URL.create(
|
||||
drivername=driver,
|
||||
username=username,
|
||||
password=password,
|
||||
host=host,
|
||||
port=port,
|
||||
database=database,
|
||||
username=DB_USER,
|
||||
password=DB_PASSWD,
|
||||
host=DB_HOST,
|
||||
port=DB_PORT,
|
||||
database=DB_NAME,
|
||||
query=query,
|
||||
)
|
||||
|
||||
|
||||
@@ -77,13 +77,6 @@ router = APIRouter(
|
||||
)
|
||||
|
||||
|
||||
def safe_int_or_none(value: Any) -> int | None:
|
||||
if value is None or value == "":
|
||||
return None
|
||||
|
||||
return safe_int(value)
|
||||
|
||||
|
||||
def parse_raw_metadata(data: FormData, form_key: str) -> dict | None:
|
||||
raw_json = data.get(form_key, None)
|
||||
if not raw_json or str(raw_json).strip() == "":
|
||||
@@ -759,36 +752,24 @@ async def update_rom(
|
||||
return DetailedRomSchema.from_orm_with_request(rom, request)
|
||||
|
||||
cleaned_data: dict[str, Any] = {
|
||||
"igdb_id": (
|
||||
safe_int_or_none(data["igdb_id"]) if "igdb_id" in data else rom.igdb_id
|
||||
),
|
||||
"sgdb_id": (
|
||||
safe_int_or_none(data["sgdb_id"]) if "sgdb_id" in data else rom.sgdb_id
|
||||
),
|
||||
"moby_id": (
|
||||
safe_int_or_none(data["moby_id"]) if "moby_id" in data else rom.moby_id
|
||||
),
|
||||
"ss_id": safe_int_or_none(data["ss_id"]) if "ss_id" in data else rom.ss_id,
|
||||
"ra_id": safe_int_or_none(data["ra_id"]) if "ra_id" in data else rom.ra_id,
|
||||
"igdb_id": (safe_int(data["igdb_id"]) if "igdb_id" in data else rom.igdb_id),
|
||||
"sgdb_id": (safe_int(data["sgdb_id"]) if "sgdb_id" in data else rom.sgdb_id),
|
||||
"moby_id": (safe_int(data["moby_id"]) if "moby_id" in data else rom.moby_id),
|
||||
"ss_id": safe_int(data["ss_id"]) if "ss_id" in data else rom.ss_id,
|
||||
"ra_id": safe_int(data["ra_id"]) if "ra_id" in data else rom.ra_id,
|
||||
"launchbox_id": (
|
||||
safe_int_or_none(data["launchbox_id"])
|
||||
safe_int(data["launchbox_id"])
|
||||
if "launchbox_id" in data
|
||||
else rom.launchbox_id
|
||||
),
|
||||
"hasheous_id": (
|
||||
safe_int_or_none(data["hasheous_id"])
|
||||
if "hasheous_id" in data
|
||||
else rom.hasheous_id
|
||||
),
|
||||
"tgdb_id": (
|
||||
safe_int_or_none(data["tgdb_id"]) if "tgdb_id" in data else rom.tgdb_id
|
||||
safe_int(data["hasheous_id"]) if "hasheous_id" in data else rom.hasheous_id
|
||||
),
|
||||
"tgdb_id": (safe_int(data["tgdb_id"]) if "tgdb_id" in data else rom.tgdb_id),
|
||||
"flashpoint_id": (
|
||||
data["flashpoint_id"] if "flashpoint_id" in data else rom.flashpoint_id
|
||||
),
|
||||
"hltb_id": (
|
||||
safe_int_or_none(data["hltb_id"]) if "hltb_id" in data else rom.hltb_id
|
||||
),
|
||||
"hltb_id": (safe_int(data["hltb_id"]) if "hltb_id" in data else rom.hltb_id),
|
||||
}
|
||||
|
||||
# Add raw metadata parsing
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import json
|
||||
from typing import Any, Sequence
|
||||
from typing import Any, Sequence, overload
|
||||
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import postgresql as sa_pg
|
||||
@@ -132,7 +132,13 @@ def safe_str_to_bool(value: Any, default: bool = False) -> bool:
|
||||
return default
|
||||
|
||||
|
||||
def safe_float(value: Any, default: float = 0.0) -> float:
|
||||
@overload
|
||||
def safe_float(value: Any, default: float) -> float: ...
|
||||
@overload
|
||||
def safe_float(value: Any, default: None = None) -> float | None: ...
|
||||
|
||||
|
||||
def safe_float(value: Any, default: float | None = None) -> float | None:
|
||||
"""Safely convert a value to float, returning default if conversion fails."""
|
||||
try:
|
||||
return float(value)
|
||||
@@ -140,7 +146,13 @@ def safe_float(value: Any, default: float = 0.0) -> float:
|
||||
return default
|
||||
|
||||
|
||||
def safe_int(value: Any, default: int = 0) -> int:
|
||||
@overload
|
||||
def safe_int(value: Any, default: int) -> int: ...
|
||||
@overload
|
||||
def safe_int(value: Any, default: None = None) -> int | None: ...
|
||||
|
||||
|
||||
def safe_int(value: Any, default: int | None = None) -> int | None:
|
||||
"""Safely convert a value to int, returning default if conversion fails."""
|
||||
try:
|
||||
return int(value)
|
||||
|
||||
Reference in New Issue
Block a user