You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
3.8 KiB
167 lines
3.8 KiB
#!/bin/bash
|
|
############################################################################
|
|
#
|
|
# Utilización: imgAtxt.sh
|
|
# Versión: 20251017
|
|
# Utilidad que quita prefijo IMG en fotos
|
|
# ubicadas en ~/storage/dcim/Camera.
|
|
#
|
|
# Funciones:
|
|
# Varias pero sin relevancia para usr.
|
|
#
|
|
# Opciones:
|
|
# - Solo se llama al archivo sin parametros.
|
|
#
|
|
# Limitaciones:
|
|
# - Ruta fija.
|
|
#
|
|
############################################################################
|
|
|
|
source fnc_gonzy.sh
|
|
|
|
getHelp () {
|
|
-e "\n\nRepositorio en https://github.com/MilanDroid/CIT"
|
|
exit 1
|
|
}
|
|
|
|
getParams () {
|
|
echo "Imagenes disponibles:"
|
|
echo -e "${Yellow}"
|
|
ls -p ~/storage/shared/Documents/img2txt/ | grep -v /
|
|
echo -e "${Color_Off}"
|
|
route=~/storage/shared/Documents/img2txt
|
|
directory=$route/txt
|
|
|
|
read -p "Extension (jpg | jpeg | png)?: " -r
|
|
if [ $REPLY == null ]
|
|
then
|
|
fnc_msg_color 0 "Extension invalida."
|
|
fnc_msg_color 2 "Saliendo."
|
|
sleep 2
|
|
exit 1
|
|
else
|
|
fnc_msg_color 1 "Formato $REPLY válido."
|
|
ext=(${REPLY//;/ })
|
|
fi
|
|
}
|
|
|
|
checkRoute () {
|
|
if [ ! -d "$route" ]
|
|
then
|
|
fnc_msg_color 0 "Directorio $route no existe."
|
|
exit 1
|
|
else
|
|
#Llenando el array con los elementos encontrados en la ruta otorgada
|
|
IFS=!
|
|
files=(`find ~/storage/shared/Documents/img2txt/ -printf %f!`)
|
|
fi
|
|
}
|
|
|
|
createDirectory () {
|
|
fnc_msg_color 2 "Validando directorio TMP.\n"
|
|
if [ ! -d "$directory" ]
|
|
then
|
|
mkdir $directory || exit 1
|
|
fnc_msg_color 1 "Directio TMP creado."
|
|
else
|
|
read -p "Directorio TMP ya existe, eliminar (S/N)?: " -n 1 -r
|
|
echo # (optional) move to a new line
|
|
if [[ ! $REPLY =~ ^[Ss]$ ]]
|
|
then
|
|
fnc_msg_color 2 "Saliendo."
|
|
sleep 2
|
|
exit 1
|
|
else
|
|
fnc_msg_color 2 "Eliminando directorio."
|
|
sleep 1
|
|
rm -rf "$directory/" || exit 1
|
|
fnc_msg_color 1 "Directorio TMP eliminado."
|
|
fnc_msg_color 2 "Creando directorio."
|
|
sleep 1
|
|
mkdir $directory || exit 1
|
|
fnc_msg_color 1 "Directio TMP creado.\n"
|
|
sleep 1
|
|
fi
|
|
fi
|
|
|
|
if [ ! -d "$directory/tifs" ]
|
|
then
|
|
mkdir "$directory/tifs" || exit 1
|
|
else
|
|
read -p "Directorio /tifs/ existente, eliminar (S/N)?: " -n 1 -r
|
|
echo # (optional) move to a new line
|
|
if [[ ! $REPLY =~ ^[Ss]$ ]]
|
|
then
|
|
fnc_msg_color 2 "Saliendo."
|
|
sleep 2
|
|
exit 1
|
|
else
|
|
fnc_msg_color 2 "Eliminando directorio."
|
|
sleep 1
|
|
rm -rf "$directory/tifs/" || exit 1
|
|
fnc_msg_color 1 "Directorio /tifs/ eliminado."
|
|
fnc_msg_color 2 "Creando directorio."
|
|
sleep 1
|
|
mkdir "$directory/tifs" || exit 1
|
|
fi
|
|
fi
|
|
}
|
|
|
|
convertFile () {
|
|
alertError=0
|
|
|
|
fnc_msg_color 2 "Conversion de $1"
|
|
magick "$route/$1" "$directory/tifs/${1%.*}.tif" || alertError=1
|
|
tesseract "$directory/tifs/${1%.*}.tif" "$directory/${1%.*}" || alertError=2
|
|
|
|
if [[ $alertError == 0 ]]; then
|
|
fnc_msg_color 2 "Archivo saliente =>"
|
|
echo -e "${Yellow}$directory/${1%.*}.txt${Color_Off}\n"
|
|
let count++
|
|
elif [[ $alerError == 1 ]]; then
|
|
fnc_msg_color 0 "Error al generar archivo .tif."
|
|
let countError++
|
|
elif [[ $alerError == 2 ]]; then
|
|
fnc_msg_color 0 "Error al generar archivo .txt."
|
|
let countError++
|
|
fi
|
|
}
|
|
|
|
getFiles () {
|
|
count=0
|
|
countError=0
|
|
|
|
for i in ${!files[@]}
|
|
do
|
|
if [[ "${ext[@]}" =~ "${files[$i]##*.}" ]]
|
|
then
|
|
convertFile "${files[$i]}"
|
|
fi
|
|
done
|
|
|
|
fnc_msg_color 2 "Eliminando archivos tmp en /tifs/"
|
|
rm -rf "$directory/tifs/" || exit 1
|
|
echo -e "Eliminados: \e[32m✓\e[0m: $count \e[31mx\e[0m: $countError"
|
|
fnc_msg_color 1 "Resultado en"
|
|
echo -e "${CYellow}$directory${Color_Off}\n"
|
|
echo ""
|
|
unset ALL_PROXY
|
|
}
|
|
|
|
while getopts ':h' option; do
|
|
case "$option" in
|
|
h) getHelp
|
|
;;
|
|
\?) printf "[ \e[31mx\e[0m ] Error: Option: '-%s$OPTARG' does not exist.">&2
|
|
echo -e "\n\nTo get help use: '-h'"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
fnc_gonzy_intro "IMG_a_TXT" "Extrae texto de imagenes.\nEl texto es guardado en un archivo."
|
|
|
|
getParams
|
|
checkRoute
|
|
createDirectory
|
|
getFiles
|
|
|