Fisk: fiskalni mock server (myLPFR) sa pokretačem fisk-test.sh
Kartica (bezbednosni element) čita profil firme iz NTech baze (read-only): PIB, MB, naziv, adresa, poslovna jedinica. Fiksni test PIN. U git ide kod i locale; generisani računi, QR, logovi i pycache su ignorisani.
This commit is contained in:
Executable
+80
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
# ── start.sh — Pokreće fiskalni mock server ─────────────────
|
||||
# ./start.sh — pokreće server u pozadini
|
||||
# ./start.sh -f — pokreće server u prvom planu (vidiš logove)
|
||||
# ./start.sh status — proverava da li je server živ
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PID_FILE="$SCRIPT_DIR/data/server.pid"
|
||||
PORT=8989
|
||||
|
||||
# Proveri da li server već radi
|
||||
check_running() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
return 0 # radi
|
||||
fi
|
||||
fi
|
||||
# Proveri i port
|
||||
if ss -tlnp 2>/dev/null | grep -q ":$PORT "; then
|
||||
return 0 # radi
|
||||
fi
|
||||
return 1 # ne radi
|
||||
}
|
||||
|
||||
stop_server() {
|
||||
echo "⏹ Zaustavljam server..."
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
kill "$PID" 2>/dev/null && echo " PID $PID ugašen"
|
||||
rm -f "$PID_FILE"
|
||||
fi
|
||||
fuser -k "${PORT}/tcp" 2>/dev/null
|
||||
echo "✅ Server zaustavljen"
|
||||
}
|
||||
|
||||
case "${1:-}" in
|
||||
status)
|
||||
if check_running; then
|
||||
echo "🟢 Server je POKRENUT na http://localhost:$PORT"
|
||||
echo " PID: $(cat "$PID_FILE" 2>/dev/null || echo '?')"
|
||||
else
|
||||
echo "🔴 Server NIJE pokrenut"
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
stop_server
|
||||
;;
|
||||
-f|--foreground)
|
||||
echo "🔧 Pokrećem server u PRVOM PLANU (Ctrl+C gasi)..."
|
||||
cd "$SCRIPT_DIR"
|
||||
python3 -u server.py
|
||||
;;
|
||||
*)
|
||||
if check_running; then
|
||||
echo "⚠️ Server je VEĆ pokrenut na http://localhost:$PORT"
|
||||
echo " Koristi './start.sh stop' da ga zaustaviš, ili './start.sh status'"
|
||||
exit 1
|
||||
fi
|
||||
echo "🔧 Pokrećem server u pozadini..."
|
||||
cd "$SCRIPT_DIR"
|
||||
mkdir -p data
|
||||
nohup python3 -u server.py > "$SCRIPT_DIR/data/server_stdout.log" 2>&1 &
|
||||
PID=$!
|
||||
echo "$PID" > "$PID_FILE"
|
||||
sleep 2
|
||||
if check_running; then
|
||||
echo "✅ Server pokrenut! PID: $PID"
|
||||
echo " http://localhost:$PORT"
|
||||
echo ""
|
||||
echo " ./start.sh stop — zaustavi server"
|
||||
echo " ./start.sh status — proveri status"
|
||||
echo " ./start.sh -f — pokreni u prvom planu (vidiš logove uživo)"
|
||||
else
|
||||
echo "❌ Server nije uspeo da se pokrene. Proveri: data/server_stdout.log"
|
||||
rm -f "$PID_FILE"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user