gitlab_snippets/Miblo/hmhdl.sh

87 lines
3.4 KiB
Bash

#!/bin/zsh
#Default settings
DLART="0"
DLPRE="0"
DLSRC="0"
DLVID="1"
RATE="800K"
# My environment settings
SRCDIR="${HOME}/Software/src/Handmade Hero" # the directory to save Casey's files
VIDDIR="${HOME}/Media/Videos/YouTube/Handmade Hero" # the direct to save the videos
OWLURL="" # the url in the email from Molly@sendowl.com
# Casey's files
HMHSRC_001_099="file?product_id=168514"
HMHSRC_100_199="file?product_id=79802"
HMHART="file?product_id=93897"
usage()
{
echo "usage: dlhmh [option]"
echo
echo " -art - disable art"
echo " +art - enable art"
echo " -pre - disable pre-stream video"
echo " +pre - enable pre-stream video"
echo " -src - disable source"
echo " +src - enable source"
echo " -vid - disable main stream"
echo " +vid - enable main stream"
echo
echo " -fs - download at full-speed"
echo " -h|--help - outputs this message"
exit
}
# Argument parsing
while [[ $1 ]]; do
case "$1" in
'-art') DLART='0';;
'+art') DLART='1';;
'-pre') DLPRE='0';;
'+pre') DLPRE='1' ; echo "Downloading the pre-stream video is not yet implemented\nExiting..." ; exit;;
'-src') DLSRC='0';;
'+src') DLSRC='1';;
'-vid') DLVID='0';;
'+vid') DLVID='1';;
'-fs') RATE="9G";;
'-h'|'--help') usage ;;
*) echo "${0##*/}: No such option, mate!\n" ; usage ; exit 127 ;;
esac
shift
done
# Downloading the art assets
if [[ "$DLART" == "1" ]]; then
wget -O "${SRCDIR}/handmade_hero_assets.zip" "${OWLURL}/${HMHART}"
fi
# Downloading the pre-stream video
if [[ "$DLPRE" == "1" ]]; then
#NOTE(matt): This is where the pre-stream downloading code will go
fi
# Downloading the source code
if [[ "$DLSRC" == "1" ]]; then
if [[ ! -e "${SRCDIR}/handmade_hero_source_001-099.zip" ]]; then
wget -O "${SRCDIR}/handmade_hero_source_001-099.zip" "${OWLURL}/${HMHSRC_001_099}"
fi
wget -O "${SRCDIR}/handmade_hero_source_100-199.zip" "${OWLURL}/${HMHSRC_100_199}"
fi
# YouTube playlists:
# https://www.youtube.com/user/handmadeheroarchive/playlists
#youtube-dl -o "${VIDDIR}/04. Game Architecture/%(title)s-%(id)s.%(ext)s" "https://www.youtube.com/playlist?list=PLEMXAbCVnmY6v0eFYcyiH7twEh1UF2Lxw"
#youtube-dl -o "${VIDDIR}/05. Asset Pipeline/%(title)s-%(id)s.%(ext)s" "https://www.youtube.com/playlist?list=PLEMXAbCVnmY6JVkAI8elXUJ-83HY706AQ"
#youtube-dl -o "${VIDDIR}/06. Rendering/%(title)s-%(id)s.%(ext)s" "https://www.youtube.com/playlist?list=PLEMXAbCVnmY40lfaaowTqIs_dKNgOXR5Q"
# Download all of the videos from the last 4 days ago into the HMH base directory
# NOTE(matt): Maybe figure out a way to download them to playlists while still
# keeping the '4 days ago' thing
if [[ "$DLVID" == "1" ]]; then
youtube-dl -i -r $RATE -f 137+140 --download-archive "${VIDDIR}/.dlarchive" -o "${VIDDIR}/%(title)s-%(id)s.%(ext)s" --dateafter "$(date +%Y%m%d -d'8 days ago')" "https://www.youtube.com/user/handmadeheroarchive"
fi