32 lines
658 B
Bash
32 lines
658 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
|
||
|
|
echo "Starting the application..."
|
||
|
|
|
||
|
|
PORT=5050
|
||
|
|
|
||
|
|
cleanup() {
|
||
|
|
echo "Stopping the application..."
|
||
|
|
pkill -f "panel serve main.py"
|
||
|
|
}
|
||
|
|
|
||
|
|
trap cleanup EXIT
|
||
|
|
|
||
|
|
poetry run panel serve main.py --port $PORT &
|
||
|
|
|
||
|
|
# if 'nc' is available, use it to check if the port is open
|
||
|
|
if ! command -v nc &> /dev/null
|
||
|
|
then
|
||
|
|
echo "'nc' command could not be found, please install it for better port checking."
|
||
|
|
sleep 2
|
||
|
|
else
|
||
|
|
# wait until port is open
|
||
|
|
while ! nc -z localhost $PORT; do
|
||
|
|
sleep 0.5
|
||
|
|
done
|
||
|
|
fi
|
||
|
|
|
||
|
|
poetry run python -m webbrowser http://localhost:$PORT
|
||
|
|
|
||
|
|
# wait until user kills the process (by hitting ctrl+c or otherwise)
|
||
|
|
wait
|