Si eres aficionad@ al cine, este script seguramente te gustara.
IMPLoader es un script escrito en ruby que se encarga de conectarse a internet, descargarse posters de peliculas y despues crear un bonito collage (mosaico) con las imagenes descargadas. Para poder utilizar este script debes tener instalado imagemagick y ruby. Si no los tienes instalados, puedes usar el siguiente comando:
$ sudo aptitude install ruby imagemagick
Nota: imagemagick es una aplicacion de consola que permite manipular ficheros graficos y ruby es un lenguaje de programacion e interprete, en este caso, encargado de ejecutar las sentencias escritas en el script.
Para ejecutar el script:
Descargate el fichero del enlace proporcionado y lo descomprimes al directorio desde el que quieras ejecutar. El fichero incluye el script llamado “imploader.rb” y un fichero “README” que contiene informacion sobre su utilizacion.
Le das permisos de ejecucion al script:
$ chmod +x imploader.rb
Abre ahora el fichero con un editor de texto y modifica las siguientes lineas conforme tus preferencias:
TMPPATH="/home/jose/Escritorio/CINE" # Path to save the wallpaper and temp files
STYLE=3 # Black=1, White=2, Polaroid=3
W=1024 # Width of final image
H=768 # Height of final image
BORDERW=50 # Left/right border width
BORDERH=0 # Top/bottom border height
TMPPATH es la ruta donde se almacenara el wallpaper generado dinamicamente y las imagenes de los posters descargados, W y H indican el tamaño horizontal y vertical de la imagen generada y STYLE es el estilo del fondo de pantalla (1 es fondo negro, 2 es fondo blanco y 3 es estilo Polaroid).
Bien, una vez configurado el script con los valores deseados, puedes ejecutarlo con:
$ ./imploader.rb
Entonces se conectara a internet, descargara las imagenes de algunos posters y generara el wallpaper.
Si ya tienes las imagenes descargadas y no deseas descargar nuevas, si no usar las previas. puedes en cambio ejecutar:
$ ./imploader.rb -n
para regenerar el wallpaper generado. Puede que el script no sea util pero es muy curioso e incluso puede que te ideas de “proximas peliculas” para ver ^^.
Actualizacion | El script se descarga solo los posters del top 10 de IMP Awards. Para usar nuestras propias imagenes o descargar desde otro sitio habria que editar el script (se estudiara).






Chulo.
Gracias!
Hace tiempo me hice el script que adjunto para bajarme las caratulas de las pelis que tenía almacenadas.
Es un script bash al que se le pasa por parametro el directorio donde están las pelis:
#!/bin/bash
# =====================================================
# Se buscan caratulas desde un fichero de entrada
# Depende de imagemagick
# =====================================================
# =====================================================
# FUNCIONES
# =====================================================
crear_miniatura() {
origen=$1
destino=$2
convert \
“$origen” -thumbnail 250×250 \
\( +clone -background black -shadow 125×3+3+3 -channel A -evaluate multiply 2 +channel \) \
+swap +repage -gravity center -geometry -0-2 -composite \
“$destino” 2> /dev/null
}
# =====================================================
# Ahora el contenido
# =====================================================
# generamos un listado de los avi del directorio activo
hora_ini=`date +%F-%T`
seg_ini=`date +%s`
#if [ -f lista.txt] ; then
# echo “¿Sobreescribir lista.txt? (S/N) ”
# read res
# if [ $res = "N" ]; then
# mv lista.txt
# fi
#fi
echo “Generando listado de peliculas…”
directorio_origen=`pwd`
if [ "$1" == "" ]; then
directorio_destino=$directorio_origen
else
directorio_destino=$1
fi
if ! [[ -d "$directorio_destino" ]] ; then
echo “KO No existe el directorio especificado… [ $directorio_destino ]”
exit 1
fi
echo “Tratando directorio… [ $directorio_destino ]”
cd “$directorio_destino”
ls *.avi | sed -e ‘s/(/\[/g' -e 's/)/\]/g’ -e ‘s/\[.*\]//g’ -e ‘s/[cC][dD][1-9]//’ -e ‘s/[\(][1-9][oO][fF][1-9][\)]//’ -e ‘s/[1-9][oO][fF][1-9]//’ -e ‘s/[_-\.]/ /g’ -e ‘s\….$\\’ -e ‘s/(/%28/g’ -e ‘s/)/%29/g’ >> $directorio_origen/lista.txt 2> /dev/null
#tambien mayusculas
ls *.AVI | sed -e ‘s/(/\[/g' -e 's/)/\]/g’ -e ‘s/\[.*\]//g’ -e ‘s/[cC][dD][1-9]//’ -e ‘s/[\(][1-9][oO][fF][1-9][\)]//’ -e ‘s/[1-9][oO][fF][1-9]//’ -e ‘s/[_-\.]/ /g’ -e ‘s\….$\\’ -e ‘s/(/%28/g’ -e ‘s/)/%29/g’ >> $directorio_origen/lista.txt 2> /dev/null
cd “$directorio_origen”
# pasamos a minusculas, ponemos quiones bajos, ordenamos y eliminamos duplicados
echo “Ordenando y eliminando duplicados…”
cat lista.txt | tr [:upper:] [:lower:] | sort | uniq -i > lista.txt
dir_img=caratulas
if ! [[ -d "$dir_img" ]] ; then
echo “Generando directorio de imagenes… $dir_img…”
mkdir -p “$dir_img”
echo “[OK] Directorio de imagenes generado”
fi
echo
echo “Procesando fichero…”
echo
num_tot=`cat lista.txt | wc -l`
num_act=0
num_new=0
while read linea_act
do
let “num_act+=1″
img_peli=$(echo “${linea_act##*/}” | tr [:blank:] [_] )
if [[ -f "$dir_img/$img_peli.png" ]]; then
echo “($num_act / $num_tot) [OK] Ya existe imagen para [ $linea_act ]”
else
img_buscada=$(echo “${linea_act##*/}” | sed -e ‘s/ /+/g’ )
img_01=$(wget -U firefox -qO – “http://images.google.es/images?hl=es&q=${img_buscada}+caratula” | grep -A1 -i “imgurl=” | awk -F \& ‘{print$1}’ | awk -F \url= ‘{print$2}’ | grep -m 1 jpg)
if [ -z "$img_01" ]; then
echo “($num_act / $num_tot) [KO] No se encontro… [ $linea_act ]”
echo -e “No hay imagen.” | convert -pointsize 16 -trim +repage text:- “$dir_img/$img_peli.png”
else
echo “($num_act / $num_tot) [OK] Creando imagen para [ $linea_act ]”
crear_miniatura “$img_01″ “$dir_img/$img_peli.png”
if ! [[ -f "$dir_img/${img_peli}.png" ]]; then
echo “($num_act / $num_tot) [KO] Ocurrio un error recuperando imagen para … [ $linea_act ]… buscando alternativa…”
img_02=$(wget -U firefox -qO – “http://images.google.es/images?hl=es&q=${img_buscada}” | grep -A1 -i “imgurl=” | awk -F \& ‘{print$1}’ | awk -F \url= ‘{print$2}’ | grep -m 1 jpg)
if [ "$img_01" == "$img_02" ]; then
echo -e “No hay imagen.” | convert -pointsize 16 -trim +repage text:- “$dir_img/$img_peli.png”
else
crear_miniatura “$img_02″ “$dir_img/$img_peli.png”
if ! [[ -f "$dir_img/${img_peli}.png" ]]; then
echo -e “No hay imagen.” | convert -pointsize 16 -trim +repage text:- “$dir_img/$img_peli.png”
fi
fi
fi
if [[ -f "$dir_img/${img_peli}.png" ]]; then
let “num_new+=1″
fi
fi
fi
done < lista.txt
hora_fin=`date +%F-%T`
seg_fin=`date +%s`
let seg_elapsed=$seg_fin-$seg_ini
echo
echo "[OK] Fichero procesado ($num_new/$num_tot imagenes nuevas) – Inicio: $hora_ini – Final: $hora_fin – [$seg_elapsed segundos]"
echo
echo "FIN"
mmm, está muy bien. gracias por compartir.
Gracias a ti por enseñarnos estas utilidades