#!/usr/bin/env bash
#!/bin/sh

# Exit if any of the command doesn't exit with code 0
set -e

EXEC_DIR=$1
test -z $EXEC_DIR && EXEC_DIR=.
DATA_LOCATION=$EXEC_DIR/data
mkdir -p $DATA_LOCATION

if [ ! -f $DATA_LOCATION/X_train.bin ] || [ ! -f $DATA_LOCATION/X_test.bin ] \
|| [ ! -f $DATA_LOCATION/y_train.bin ] || [ ! -f $DATA_LOCATION/y_test.bin ]; then
#if true; then
	if [ ! -f $DATA_LOCATION/faces.tar.gz ]; then
		echo 'Downloading raw dataset'
		curl -o $DATA_LOCATION/faces.tar.gz http://www.ai.mit.edu/courses/6.899/lectures/faces.tar.gz
	fi

	echo 'Extracting raw files'
	tar xzf $DATA_LOCATION/faces.tar.gz -C $DATA_LOCATION
	rm $DATA_LOCATION/README
	rm $DATA_LOCATION/svm.*

	echo 'Extracting raw train set'
	tar xzf $DATA_LOCATION/face.train.tar.gz -C $DATA_LOCATION
	rm $DATA_LOCATION/face.train.tar.gz

	echo 'Extracting raw test set'
	tar xzf $DATA_LOCATION/face.test.tar.gz -C $DATA_LOCATION
	rm $DATA_LOCATION/face.test.tar.gz

	echo 'Converting raw dataset to bin file'
	source $EXEC_DIR/python/activate.sh $EXEC_DIR
	python $EXEC_DIR/python/convert_dataset.py $DATA_LOCATION

	echo 'Removing leftovers'
	rm -rf $DATA_LOCATION/train
	rm -rf $DATA_LOCATION/test

	echo 'Done !'
fi