72 lines
1.5 KiB
Bash
Executable File
72 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Download data.
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
die() {
|
|
echo >&2 $*
|
|
exit 1
|
|
}
|
|
|
|
checkCmd() {
|
|
command -v $1 >/dev/null 2>&1 \
|
|
|| die "'$1' command not found. Please install from your package manager."
|
|
}
|
|
|
|
checkCmd wget
|
|
checkCmd tar
|
|
|
|
printf "\n\n====================================================\n"
|
|
printf "Downloading lfw-a (subset of people with name starting with A)"
|
|
printf "====================================================\n\n"
|
|
rm -rf lfw-subset
|
|
mkdir -p lfw-subset
|
|
cd lfw-subset
|
|
wget -nv http://vis-www.cs.umass.edu/lfw/lfw-a.tgz
|
|
[ $? -eq 0 ] || ( rm lfw-a.tgz && die "+ lfw-a: Error in wget." )
|
|
|
|
printf "\n\n====================================================\n"
|
|
printf "Verifying checksums.\n"
|
|
printf "====================================================\n\n"
|
|
|
|
md5str() {
|
|
local FNAME=$1
|
|
case $(uname) in
|
|
"Linux")
|
|
echo $(md5sum "$FNAME" | cut -d ' ' -f 1)
|
|
;;
|
|
"Darwin")
|
|
echo $(md5 -q "$FNAME")
|
|
;;
|
|
esac
|
|
}
|
|
|
|
checkmd5() {
|
|
local FNAME=$1
|
|
local EXPECTED=$2
|
|
local ACTUAL=$(md5str "$FNAME")
|
|
if [ $EXPECTED == $ACTUAL ]; then
|
|
printf "+ $FNAME: successfully checked\n"
|
|
else
|
|
printf "+ ERROR! $FNAME md5sum did not match.\n"
|
|
printf " + Expected: $EXPECTED\n"
|
|
printf " + Actual: $ACTUAL\n"
|
|
printf " + Please manually delete this file and try re-running this script.\n"
|
|
return -1
|
|
fi
|
|
printf "\n"
|
|
}
|
|
|
|
set -e
|
|
|
|
checkmd5 \
|
|
lfw-a.tgz \
|
|
678b1f67c300002fedafbb0705d22e8d
|
|
|
|
tar xf lfw-a.tgz
|
|
mkdir raw
|
|
mv lfw/{Ann_Veneman,Adrien_Brody,Anna_Kournikova} raw
|
|
rm -rf lfw
|
|
|
|
rm lfw-a.tgz
|