#!/bin/bash
username='username'
institution='institution'

localdir=$(mktemp -dt XXXX)
wrdslib=$1
wrdsfiles=${@: 2}
remoteprefix=`od -An -N3 -i /dev/random | awk '{$1=$1};1'`
sastempdir="/scratch/${institution}/${remoteprefix}"
remotezip="${remoteprefix}.zip"

ssh $username@wrds.wharton.upenn.edu '/bin/bash -s' << EOF
	mkdir "${sastempdir}"
	printf '#!/bin/bash \n' > ${sastempdir}/myscript.sh
	printf "sas ${sastempdir}/sasprog.sas\n" >> ${sastempdir}/myscript.sh
	
	for fn in ${wrdsfiles}
	do
		printf "proc export data=$wrdslib.\${fn} outfile= \"${sastempdir}/\${fn}.dta\";\n" >> ${sastempdir}/sasprog.sas
	done
	printf "run;\n" >> ${sastempdir}/sasprog.sas
	echo "-------myscript.sh---------------"
	cat ${sastempdir}/myscript.sh
	echo "-------myscript.sh---------------"
	echo ""
	echo "-------sasprog.sas---------------"
	cat ${sastempdir}/sasprog.sas
	echo "-------sasprog.sas---------------"
EOF

ssh $username@wrds.wharton.upenn.edu "qsub -sync y ${sastempdir}/myscript.sh"

rsync --progress -compress -v -e ssh $username@wrds.wharton.upenn.edu:"${sastempdir}/*.dta" ./


# Test if files are empty
for fn in ${wrdsfiles}
do 
	file_size_kb=`du -k "${fn}.dta" | cut -f1`
	if [[ $file_size_kb == 0 ]]
	then
		echo "----------------------------------------------------------------------------"
		echo "${fn}.dta is blank, and was likely mistyped or pulled from the wrong library"
		echo "----------------------------------------------------------------------------"
		rm "${fn}.dta"
	fi
done

trap "ssh $username@wrds.wharton.upenn.edu rm -rf ${sastempdir};rm -rf $localdir" EXIT