forked from zakaria/chicken-counting-sukawarna-det
fix: make chicken-dashboard.service dynamic, add install_service.sh, and add sibling VIDEOS startup checks
This commit is contained in:
1 parent
acd9c9265b
commit
9f4fc138ba
5 files changed
+83
-13
No files matched your search
+18
-6
@@ -19,18 +19,30 @@ DATE_ARG="${DATE_ARG:-}"
|
||||
|
||||
CMD=("$PYTHON" "$SCRIPT_DIR/dashboard.py" --port "$PORT" --db "$DB_PATH")
|
||||
|
||||
# Auto-discover mortality directories (any folder containing mortality_report.json)
|
||||
# Override with MORTALITY_DIRS="dir1,dir2" env variable or let it auto-discover
|
||||
# Startup check: Ensure sibling VIDEOS directory structure exists
|
||||
VIDEOS_BASE="$SCRIPT_DIR/../VIDEOS"
|
||||
if [ ! -d "$VIDEOS_BASE" ]; then
|
||||
echo "[dashboard] 📁 Sibling directory '$VIDEOS_BASE' not found; creating skeleton directory..."
|
||||
mkdir -p "$VIDEOS_BASE/cycle7"
|
||||
fi
|
||||
|
||||
# Auto-discover mortality directories (any folder containing mortality_report.json or mortality folders)
|
||||
if [ -n "${MORTALITY_DIRS:-}" ]; then
|
||||
IFS=',' read -ra MDIRS <<< "$MORTALITY_DIRS"
|
||||
for mdir in "${MDIRS[@]}"; do
|
||||
CMD+=(--mortality-dir "$mdir")
|
||||
done
|
||||
else
|
||||
# Default: check adjacent VIDEOS folder for any mortality subdirectory
|
||||
DEFAULT_MORTALITY="$SCRIPT_DIR/../VIDEOS/cycle7/kandang-atas/mortality"
|
||||
if [ -d "$DEFAULT_MORTALITY" ]; then
|
||||
CMD+=(--mortality-dir "$(realpath "$DEFAULT_MORTALITY")")
|
||||
# Recursively discover all mortality subdirectories under ../VIDEOS
|
||||
FOUND_MDIRS=()
|
||||
while IFS= read -r -d '' mdir; do
|
||||
FOUND_MDIRS+=("$mdir")
|
||||
done < <(find "$VIDEOS_BASE" -type d -name "mortality" -print0 2>/dev/null)
|
||||
|
||||
if [ ${#FOUND_MDIRS[@]} -gt 0 ]; then
|
||||
for mdir in "${FOUND_MDIRS[@]}"; do
|
||||
CMD+=(--mortality-dir "$mdir")
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Reference in new issue
Block a user