#!/bin/bash

case $LANG in
  es*)
    CARP="Recuperados"
    WARN="Arrastre el directorio del dispositivo montado\n para intentar recuperar su contenido."
    INFO="El dispositivo elegido no está montado. Si es un usuario avanzado y sabe lo que hace, pulse Aceptar."
    TXT1="Ya existe una carpeta llamada <b>$CARP</b> en su carpeta personal.\nPor favor, renombrela y vuelva a iniciar el proceso."
    TIT1="Recuperando archivos..."
    TXT2="Esta operación puede tardar bastante tiempo.
Por favor, espere.

<b>Explorando...</b>"
    ;;
  gl*)
    CARP="Recuperados"
    WARN="Arrastre o directorio do dispositivo montado\n para tentar recuperar o seu contido."
    INFO="O dispositivo elixido non está montado. Se é un usuario avanzado e sabe o que fai, prema en Aceptar."
    TXT1="Xa existe un cartafol chamado <b>$CARP</b> no seu cartafol persoal.\nPor favor, renomeea e volva a iniciar o proceso."
    TIT1="Recuperando ficheiros..."
    TXT2="Esta operación pode tardar bastante tempo.
Por favor, agarde.

<b>Explorando...</b>"
    ;;
  *)
    CARP="Recovered"
    WARN="Drag & drop a mounted folder to try recovering its content."
    INFO="Choosen device is not mounted. If you are an advanced user and you know what you are doing, press OK."
    TXT1="There is already a folder called <b>$CARP</b>.\nPlease, rename it and restart the process."
    TIT1="Recovering files..."
    TXT2="This process could take a long time.
Please, wait.

<b>Exploring...</b>"
    ;;
esac

funcion_ripear (){
  (while [ "$(pidof ripper)" ];do

  PORCENTAJE=`tail -n1 /tmp/temp|awk '{print $6}'|cut -d "." -f1`
  echo $PORCENTAJE;
  done)|
  zenity --title="$TIT1" --progress --text "$TXT2" --auto-close

  killall ripper
  rox $HOME/$CARP
  
  exit 0
}

if [ "$1" == "" ];then
  zenity --warning --text "$WARN"
  exit 0
fi

DEVICE=`mount|grep "$1"|awk '{print $1}' -`
if [ -f /tmp/temp ]; then
  rm /tmp/temp
fi

if [ -d $HOME/$CARP ]; then
  zenity --warning --text "$TXT1"
  exit 0
fi

mkdir -p $HOME/$CARP
cd $HOME/$CARP

# Si se ha arrastrado un dispositivo desmontado, un dispositivo de /dev directamente o un archivo...
if [ -z "$DEVICE" ];then
  zenity --question --text="$INFO"
  CONTINUAR=`echo $?`
  if [ "$CONTINUAR" == "0" ];then
    # Si es un directorio vacío no hay nada que hacer.
    if [ -d "$1" ];then
      exit 0
    else
      ripper "$1" > /tmp/temp&
      funcion_ripear
    fi
  else 
    exit 0
  fi
	
fi

ripper $DEVICE > /tmp/temp&
funcion_ripear
