Posted by nordri on Sun 9 Mar 18:28
report abuse | download | new post
- #!/bin/bash
- #
- # Genera un listado con las peliculas del disco externo.
- #
- # Fede Diaz (nordri@...)
- # Febrero 2008 - Version 0.1
- # Marzo 2008 - Version 0.2 Genera informes en html con enlaces a filmaffinity
- #
- PPATH="/mnt/backup/pelis"
- EMAILS="Escribe aquí las direcciones de correo separadas por comas"
- TMPPATH="/tmp/pelis.script"
- LISTA_TITULOS=$TMPPATH/listaTitulos.html
- LISTA_GENEROS=$TMPPATH/generos
- TITULOS_SIN_BARRAS=$TMPPATH/auxBarras.txt
- TITULOS_SIN_PUNTOS=$TMPPATH/auxPuntos.txt
- SERIES=$TMPPATH/series.lista
- DOCUS=$TMPPATH/docus.lista
- # Funcion que elimina las barras ("/") de la cadena (Genero)
- function limpiaBarrasCadena() {
- echo $1 | awk -F"/" '{ print $4 }'
- }
- # Funcion que elimina el punto de extension de la cadena (Genero)
- function limpiaPuntoCadena() {
- echo $1 | awk -F"." '{ print $1 }'
- }
- # Funcion que formatea la cadena de pelicula para que solo quede el titulo
- function formateaPelicula() {
- cat $1 | awk -F"/" '{ print $6 }' >> $TITULOS_SIN_BARRAS
- cat $TITULOS_SIN_BARRAS | awk -F"." '{ print $1 }' >> $TITULOS_SIN_PUNTOS
- rm $TITULOS_SIN_BARRAS
- }
- # Funcion para anadir titulos
- function anadir(){
- case $1 in
- "pelicula")
- TAM=`wc -l $2 | awk -F" " '{ print $1 }'`
- for i in `seq 1 $TAM`; do
- TITULO=`head -n $i $2 | tail -1`;
- generaHTML titulo "$TITULO";
- done
- rm $TITULOS_SIN_PUNTOS
- ;;
- "serie")
- ls $PPATH/Series >> $SERIES
- TAM=`wc -l $SERIES | awk -F" " '{ print $1 }'`
- for i in `seq 1 $TAM`; do
- TITULO=`head -n $i $SERIES | tail -1`;
- generaHTML titulo "$TITULO";
- done
- ;;
- "docu")
- ls $PPATH/Documentales >> $DOCUS
- TAM=`wc -l $DOCUS | awk -F" " '{ print $1 }'`
- for i in `seq 1 $TAM`; do
- TITULO=`head -n $i $DOCUS | tail -1`;
- generaHTML titulo "$TITULO";
- done
- ;;
- esac
- }
- # Genera el código HTML por casos. HEAD : Cabezera, GENERO : Genero del video,
- # TITULO : Titulo del video + link, CIERRA : Cierra la página.
- function generaHTML() {
- case $1 in
- "head")
- echo "<html><head><title>El Listado de Películas</title></head><body bgcolor=\"#efefef\" text=\"black\" link=\"blue\" vlink=\"#551A8B\" alink=\"red\">" >> $LISTA_TITULOS
- ;;
- "genero")
- echo "<p><b>Peliculas del Genero: "$2"</b></p>" >> $LISTA_TITULOS
- ;;
- "titulo")
- echo "<li><a href=\"http://www.filmaffinity.com/es/search.php?stext=$2&stype%5B%5D=title&genre=&country=&fromyear=&toyear=\">"$2"</a></li>" >> $LISTA_TITULOS
- ;;
- "cierra")
- echo "</body></html>" >> $LISTA_TITULOS
- ;;
- esac
- }
- function lista(){
- if [ $1 == "empieza" ]; then
- echo "<ol>" >> $LISTA_TITULOS
- else
- echo "</ol>" >> $LISTA_TITULOS
- fi
- }
- # Obtenemos los generos disponibles
- ls $PPATH > $LISTA_GENEROS
- # Hacemos un bucle que clasificara el contenido de las carpetas
- # segun su genero y los guardara en ficheros distintos
- for GENERO in `cat $LISTA_GENEROS`; do
- find $PPATH/$GENERO -iname "*.avi" | sort > $TMPPATH/$GENERO.lista;
- done
- # Una vez que tenemos las pelis separas por genero las juntamos poniendo una
- # cabezera con el genero. Se hace en un nuevo bucle en el que al mismo tiempo
- # se le añade el formato a la cadena para que solo aparezca el titulo de la
- # pelicula.
- generaHTML head # Inserta la cabezera del código HTML
- for GENERO in `ls $TMPPATH/*.lista`; do
- GENERO_SIN_BARRAS=`limpiaBarrasCadena $GENERO`
- GENERO_SIN_PUNTO=`limpiaPuntoCadena $GENERO_SIN_BARRAS`
- generaHTML genero $GENERO_SIN_PUNTO
- lista empieza # Inserta la etiqueta de lista HTML superada
- case $GENERO_SIN_PUNTO in
- "Series")
- anadir serie
- ;;
- "Documentales")
- anadir docu
- ;;
- *)
- formateaPelicula $GENERO # Se da formato al listado de pelis del Genero.
- anadir pelicula $TITULOS_SIN_PUNTOS # Se anade el listado de pelis del Genero.
- ;;
- esac
- lista termina # Cierra la lista HTML numerada
- done
- # Escribimos el código HTML para cerrar la página
- generaHTML cierra
- # Enviar la lista por correo.
- cat $LISTA_TITULOS | email --quiet --html --subject "Nuevo listado de peliculas" $EMAILS
- # Limpiamos los ficheros generados.
- rm $TMPPATH/*
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.