created gamedl with build, hbd and itch-download commands
This commit is contained in:
commit
a2e5c666d5
1 changed files with 75 additions and 0 deletions
75
gamedl
Executable file
75
gamedl
Executable file
|
@ -0,0 +1,75 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
IMAGE=gamedl
|
||||
CONTAINER=$IMAGE
|
||||
|
||||
function build_image () {
|
||||
echo "building $IMAGE..."
|
||||
# docker build --tag "$IMAGE" .
|
||||
|
||||
docker build --tag "$IMAGE" - << EOF
|
||||
FROM python:3-alpine
|
||||
RUN apk add --no-cache git
|
||||
RUN pip install itchiodl
|
||||
WORKDIR /usr/src/humble-dl
|
||||
RUN \
|
||||
git clone 'https://github.com/xtream1101/humblebundle-downloader.git' . &&\
|
||||
wget -O trovefix.patch 'https://patch-diff.githubusercontent.com/raw/xtream1101/humblebundle-downloader/pull/59.patch' &&\
|
||||
git apply trovefix.patch &&\
|
||||
pip install -e .
|
||||
CMD echo "Usage: gamedl <hbd|itch-download|help|build> [<options>]"
|
||||
EOF
|
||||
}
|
||||
|
||||
function check_image () {
|
||||
if ! (docker image inspect "$IMAGE" >/dev/null); then
|
||||
echo "cannot access docker image $IMAGE, it probably does not exist."
|
||||
|
||||
while true; do
|
||||
read -p "build image? [yn] " yn
|
||||
case $yn in
|
||||
[Yy]* ) build_image; exit ;;
|
||||
[Nn]* ) echo "bye"; exit ;;
|
||||
* ) echo "Please answer yes or no." ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
function run_image () {
|
||||
echo "mounting your local working dir as /dl"
|
||||
docker run -u $(id -u):$(id -g) -v $PWD:/dl -it --rm --name "$CONTAINER" "$IMAGE" "$@"
|
||||
}
|
||||
|
||||
function show_help () {
|
||||
echo "Usage $0 <command> [<options>]
|
||||
Commands:
|
||||
hbd
|
||||
Run the Humble downloader.
|
||||
itch-download
|
||||
Run the Itch.io downloader.
|
||||
|
||||
build
|
||||
(Re)build the gamedl-image.
|
||||
help
|
||||
That is what you are reading now.
|
||||
"
|
||||
}
|
||||
|
||||
cmd="help"
|
||||
if [ $# -ge 1 ]; then
|
||||
cmd="$1"
|
||||
fi
|
||||
|
||||
case "$cmd" in
|
||||
help | h | -h )
|
||||
show_help; exit ;;
|
||||
build )
|
||||
build_image; exit ;;
|
||||
* )
|
||||
run_image $@; exit ;;
|
||||
esac
|
||||
|
Loading…
Reference in a new issue