Improve language export and error handling

Refactor language handling and error messages in the script.
This commit is contained in:
Alexandre
2025-11-19 09:22:47 +01:00
committed by GitHub
parent b4c2bee078
commit 4e5499c6d8

View File

@@ -53,30 +53,31 @@ sed -i 's/"\.\$updatediv\.\"//g' "$HOME"/BirdNET-Pi/homepage/views.php
# Correct language labels according to birdnet.conf
echo "... adapting labels according to birdnet.conf"
if export "$(grep "^DATABASE_LANG" /config/birdnet.conf)"; then
if grep -q '^DATABASE_LANG=' /config/birdnet.conf; then
export "$(grep -m1 '^DATABASE_LANG=' /config/birdnet.conf)"
bashio::log.info "Setting language to ${DATABASE_LANG:-en}"
if [[ -f "$HOME/BirdNET-Pi/scripts/utils/maintainer.py" ]]; then
PYTHONPATH="$HOME/BirdNET-Pi:$HOME/BirdNET-Pi/scripts:$HOME/BirdNET-Pi/scripts/utils:${PYTHONPATH:-}" \
python3 - <<'PY'
python3 - <<'PY' 1>/dev/null
import importlib.util
import os
import sys
home = os.environ.get("HOME", "/home/pi")
birdnet_root = os.path.join(home, "BirdNET-Pi")
for path in (birdnet_root, os.path.join(birdnet_root, "scripts"), os.path.join(birdnet_root, "scripts", "utils")):
for path in (birdnet_root,
os.path.join(birdnet_root, "scripts"),
os.path.join(birdnet_root, "scripts", "utils")):
if path not in sys.path:
sys.path.insert(0, path)
if importlib.util.find_spec("scripts.utils.maintainer") is None:
print("Language maintainer module not found; skipping translation generation.")
raise SystemExit(0)
raise RuntimeError("Language maintainer module not found; skipping.")
from scripts.utils.maintainer import create_language
database_lang = os.environ.get("DATABASE_LANG", "en")
print(f"Creating translations for {database_lang}")
create_language(database_lang)
PY
else