IMPloader, Script generador de Wallpapers a partir de Posters de Peliculas

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).

5 Responses to “IMPloader, Script generador de Wallpapers a partir de Posters de Peliculas”


  1. 1 Patrick enero 13, 2010 a las 7:56 pm

    Chulo.
    Gracias!

  2. 2 soymicmic enero 13, 2010 a las 8:22 pm

    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"


  1. 1 Actualizacion de IMPLoader, genera wallpapers con tus imagenes « Ubuntu Life Trackback en enero 19, 2010 a las 6:12 pm

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s







¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map

Archivos

enero 2010
L M X J V S D
 123
45678910
11121314151617
18192021222324
25262728293031

Blog Stats

  • 31.239.545 hits

A %d blogueros les gusta esto: