#!/bin/sh
#########################################################
#
# Twitter Backup v0.1a - @mmoroca - http://mmoroca.es
#
# Genera un conjunto de páginas web con todos los tweets
# escritos por un usuario. Para ello su cuenta debe ser
# pública. No me hago responsable de cualquier daño
# originado directa o indirectamente por el script.
# Si tienes alguna duda: mmoroca@gmail.com
#
# Uso: ./twitter_backup.sh nombre_usuario
#
# Licencia GPL (http://www.gnu.org/licenses/gpl.html)
#
#########################################################

if [ "$1" = "" ]
then
	echo
	echo "Twitter Backup (@mmoroca - http://mmoroca.es)"
	echo "Genera un conjunto de páginas web con todos los tweets"
	echo "escritos por un usuario. Para ello su cuenta debe ser"
	echo "pública. No me hago responsable de cualquier daño"
	echo "originado directa o indirectamente por el script."
	echo "Si tienes alguna duda: mmoroca@gmail.com"
	echo
	echo "Modo de uso: ./twitter_backup.sh nombre_usuario"
	echo
	exit
fi

contador=1
echo "Comienza la copia de seguridad del usuario de Twitter @$1:"
echo
while [ true ]
do
	echo "Descargando la página número ${contador}..."
	curl -N http://twitter.com/$1?page=${contador} -o pagina_$1_${contador}.html 2> /dev/null
	retorno=$?
	if [ ${retorno} -ne 0 ]
	then
		echo
		echo "***ERROR***: No se puede descargar la página número ${contador}, compruebe su conexión a internet."
		break
	fi
		
	grep protected pagina_$1_${contador}.html > /dev/null
	protegido=$?
	if [ ${protegido} -eq 0 ]
	then
		echo
		echo "***ERROR***: No se puede descargar debido a que los updates del usuario @$1 están protegidos."
		break
	fi

	grep Older pagina_$1_${contador}.html > /dev/null
	anterior=$?
	if [ ${anterior} -eq 1 ]
	then
		break
	fi
	
	contador=$( expr $contador + 1 )

done
echo
echo "La copia de seguridad del usuario @$1 ha finalizado. (TwitterBackup)"

