Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] remove shopt&alias to make it work on powershell #131

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Docker-Volume-mounted. There is no need to build the Docker Image yourself (see

All services are started using a [Docker Compose file](https://github.com/geopython/geopython-workshop/blob/master/workshop/docker-compose.yml).

Windows users; use [powershell](https://en.wikipedia.org/wiki/PowerShell) or [Linux Subsystem](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) to run below commands.
Windows users; use [powershell](https://en.wikipedia.org/wiki/PowerShell) or [Linux Subsystem](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) to run below commands. On powershell, use the .ps.sh script and prepend with `bash`, eg. `bash ./geopython-workshop-ctl.ps.sh start`.

```bash
cd workshop
Expand Down
59 changes: 59 additions & 0 deletions workshop/geopython-workshop-ctl.ps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/bin/bash

PROGRAM_NAME=$(basename $0)

USAGE="Usage: $PROGRAM_NAME <start|stop|url|update|clean>"

if [ "$#" -ne 1 ]; then
echo $USAGE
exit 1
fi

# Test for the command
if [ $1 == "start" ]; then
$0 stop
docker compose up -d
elif [ $1 == "stop" ]; then
docker compose stop
docker compose rm --force
elif [ $1 == "url" ]; then
# try to open the Jupyter Notebook in Browser
platform="$(uname | tr '[:upper:]' '[:lower:]')"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this still required? I guess the openapp="cmd /c start" is the command in PS here.


if [[ $platform == 'linux' ]]; then
openapp="xdg-open"
elif [[ $platform == 'darwin' ]]; then # MacOS
openapp="open"
else # assume some kind of Windows variant
openapp="cmd /c start"
fi

url=$(docker logs geopython-workshop-jupyter 2>&1 | grep " or http" | sed 's/ or //')
if [ -z ${url} ]; then
echo "workshop not started"
echo "did you start the workshop? (i.e. bash $0 start)"
exit 2
fi
echo "Attempting to open ${url} in your browser on platform ${platform}..."
echo "If this fails, simply copy/paste that URL in your browser"
${openapp} ${url}
elif [ $1 == "update" ]; then
docker pull geopython/geopython-workshop:latest
echo
echo
echo "workshop is running the latest Docker images"
echo "If updates occured, then stop/start the workshop"
elif [ $1 == "clean" ]; then
# Remove all exited containers
for c in $(docker ps -a -f status=exited -q)
do
docker rm ${c}
done
# And dangling images
for i in $(docker images -f dangling=true -q)
do
docker rmi ${i}
done
else
echo ${USAGE}
fi
2 changes: 1 addition & 1 deletion workshop/geopython-workshop-ctl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,4 @@ elif [ $1 == "clean" ]; then
done
else
echo ${USAGE}
fi
fi