Característica #12
script per generar les noticies de la portada
Estat: | Resolved | Inici: | 10-12-2012 | |
---|---|---|---|---|
Prioritat: | Normal | Data de venciment: | ||
Assignat a: | Alejandro Martín | % realitzat: | 100% | |
Categoria: | - | Temps invertit: | - | |
Versió objectiu: | - |
Descripció
amb un script es genera un arxiu de les ultimes noticies publicades a la portada, de manera que el portal guifi del proxy farà referència també a novetats actuals.
aquest script agafa el que mostra la "vista" de novetats de la portada.
#!/bin/sh # Definimos la funcion getPortada() { # Descargamos la portada correspondiente # al primer parametro especificado al # llamar a la funcion wget http://guifi.net/$1/portada -O /tmp/portada # Cargamos las cadenas del fichero # /tmp/portada que contengan el texto # "<h2>" en /tmp/portada2 grep "<h2>" /tmp/portada > /tmp/portada2 # Cargamos en /tmp/portada3 a # partir de la 8ª linea de /tmp/portada2 tail -n+8 /tmp/portada2 > /tmp/portada3 # Sustituimos <h2> por <p> en /tmp/portada3 sed -i 's/<h2>/<p>/g' /tmp/portada3 # Sustituimos <a href=" por # <a href="http://guifi.net sed -i 's/<a href="/<a href="http:\/\/guifi.net/g' /tmp/portada3 # Sustituimos </h2> por </p> sed -i 's/<\/h2>/<\/p>/g' /tmp/portada3 # Movemos el fichero resultante al # nombre que le corresponde segun # el primer parametro mv /tmp/portada3 /tmp/portada.$1 # Borramos los ficheros temporales rm portada portada2 } # Llamamos a la funcion con el codigo de idioma getPortada ca getPortada en getPortada es exit 0
es guarda en un arxiu... per exemple: /root/news.sh
es crea un cron:
#crontab -e @daily sh /root/news.sh
daquesta manera ens genera 3 arxius a /var/www on després seran creats per l'arxiu index.html
Historial
#1 Actualitzat per eloi rebes fa més de 11 anys
- % realitzat ha canviat de 0 a 50
#2 Actualitzat per eloi rebes fa més de 11 anys
- % realitzat ha canviat de 50 a 80
#3 Actualitzat per Alejandro Martín fa més de 11 anys
#!/bin/sh # Definimos la funcion getPortada() { # Descargamos la portada correspondiente # al primer parametro especificado al # llamar a la funcion wget http://guifi.net/$1/portada -O /tmp/portada # Cargamos las cadenas del fichero # /tmp/portada que contengan el texto # "<h2>" en /tmp/portada2 grep "<h2>" /tmp/portada > /tmp/portada2 # Cargamos en /tmp/portada3 a # partir de la 8ª linea de /tmp/portada2 tail -n+8 /tmp/portada2 > /tmp/portada3 # Sustituimos <h2> por <p> en /tmp/portada3 sed -i 's/<h2>/<p>/g' /tmp/portada3 # Sustituimos <a href=" por # <a href="http://guifi.net sed -i 's/<a href="/<a href="http:\/\/guifi.net/g' /tmp/portada3 # Sustituimos </h2> por </p> sed -i 's/<\/h2>/<\/p>/g' /tmp/portada3 # Movemos el fichero resultante al # nombre que le corresponde segun # el primer parametro mv /tmp/portada3 /tmp/portada.$1 # Borramos los ficheros temporales rm /tmp/portada /tmp/portada2 } # Llamamos a la funcion con el codigo de idioma getPortada ca getPortada en getPortada es exit 0
#4 Actualitzat per Alejandro Martín fa més de 11 anys
#!/bin/sh # Definimos la funcion getPortada() { # Descargamos la portada correspondiente # al primer parametro especificado al # llamar a la funcion wget http://guifi.net/$1/portada -O /tmp/portada # Cargamos las cadenas del fichero # /tmp/portada que contengan el texto # "<h2>" en /tmp/portada2 grep "<h2>" /tmp/portada > /tmp/portada2 # Añadimos la etiqueta de inicio de lista # desordenada a /tmp/portada3 echo "<ul>" > /tmp/portada3 # Cargamos en /tmp/portada3 a # partir de la 8a linea de /tmp/portada2 tail -n+8 /tmp/portada2 >> /tmp/portada3 # Sustituimos <h2> por <li> en /tmp/portada3 sed -i 's/<h2>/<li>/g' /tmp/portada3 # Sustituimos <a href=" por # <a href="http://guifi.net sed -i 's/<a href="/<a href="http:\/\/guifi.net/g' /tmp/portada3 # Sustituimos </h2> por </li> sed -i 's/<\/h2>/<\/li>/g' /tmp/portada3 # Añadimos la etiqueta de fin de lista # a /tmp/portada3 echo "</ul>" >> /tmp/portada3 # Sustituimos tildes y eñes sed -i 's/á/\á\;/g' /tmp/portada3 sed -i 's/é/\é\;/g' /tmp/portada3 sed -i 's/í/\í\;/g' /tmp/portada3 sed -i 's/ó/\ó\;/g' /tmp/portada3 sed -i 's/ú/\ú\;/g' /tmp/portada3 sed -i 's/Á/\Á\;/g' /tmp/portada3 sed -i 's/É/\É\;/g' /tmp/portada3 sed -i 's/Í/\Í\;/g' /tmp/portada3 sed -i 's/Ó/\Ó\;/g' /tmp/portada3 sed -i 's/Ú/\Ú\;/g' /tmp/portada3 sed -i 's/à/\à\;/g' /tmp/portada3 sed -i 's/è/\è\;/g' /tmp/portada3 sed -i 's/ì/\ì\;/g' /tmp/portada3 sed -i 's/ò/\ò\;/g' /tmp/portada3 sed -i 's/ù/\ù\;/g' /tmp/portada3 sed -i 's/À/\À\;/g' /tmp/portada3 sed -i 's/È/\È\;/g' /tmp/portada3 sed -i 's/Ì/\Ì\;/g' /tmp/portada3 sed -i 's/Ò/\Ò\;/g' /tmp/portada3 sed -i 's/Ù/\Ù\;/g' /tmp/portada3 sed -i 's/ñ/\ñ\;/g' /tmp/portada3 sed -i 's/Ñ/\Ñ\;/g' /tmp/portada3 # Movemos el fichero resultante al # nombre que le corresponde segun # el primer parametro rm /var/www/portada_$1.html mv /tmp/portada3 /var/www/portada_$1.html chown www-data: /var/www/portada_$1.html # Borramos los ficheros temporales rm /tmp/portada /tmp/portada2 } # Llamamos a la funcion con el codigo de idioma getPortada ca getPortada en getPortada es exit 0
#5 Actualitzat per Alejandro Martín fa més de 11 anys
#!/bin/sh # Definimos la funcion getPortada() { # Descargamos la portada correspondiente # al primer parametro especificado al # llamar a la funcion wget http://guifi.net/$1/portada -O /tmp/portada # Cargamos las cadenas del fichero # /tmp/portada que contengan el texto # "<h2>" en /tmp/portada2 grep "<h2>" /tmp/portada > /tmp/portada2 # Añadimos la etiqueta de inicio de lista # desordenada a /tmp/portada3 echo "<ul>" > /tmp/portada3 # Cargamos en /tmp/portada3 a # partir de la 8a linea de /tmp/portada2 tail -n+8 /tmp/portada2 >> /tmp/portada3 # Sustituimos <h2> por <li> en /tmp/portada3 sed -i 's/<h2>/<li>/g' /tmp/portada3 # Sustituimos <a href=" por # <a href="http://guifi.net sed -i 's/<a href="/<a target="_parent" href="http:\/\/guifi.net/g' /tmp/portada3 # Sustituimos </h2> por </li> sed -i 's/<\/h2>/<\/li>/g' /tmp/portada3 # Añadimos la etiqueta de fin de lista # a /tmp/portada3 echo "</ul>" >> /tmp/portada3 # Sustituimos tildes y eñes sed -i 's/á/\á\;/g' /tmp/portada3 sed -i 's/é/\é\;/g' /tmp/portada3 sed -i 's/í/\í\;/g' /tmp/portada3 sed -i 's/ó/\ó\;/g' /tmp/portada3 sed -i 's/ú/\ú\;/g' /tmp/portada3 sed -i 's/Á/\Á\;/g' /tmp/portada3 sed -i 's/É/\É\;/g' /tmp/portada3 sed -i 's/Í/\Í\;/g' /tmp/portada3 sed -i 's/Ó/\Ó\;/g' /tmp/portada3 sed -i 's/Ú/\Ú\;/g' /tmp/portada3 sed -i 's/à/\à\;/g' /tmp/portada3 sed -i 's/è/\è\;/g' /tmp/portada3 sed -i 's/ì/\ì\;/g' /tmp/portada3 sed -i 's/ò/\ò\;/g' /tmp/portada3 sed -i 's/ù/\ù\;/g' /tmp/portada3 sed -i 's/À/\À\;/g' /tmp/portada3 sed -i 's/È/\È\;/g' /tmp/portada3 sed -i 's/Ì/\Ì\;/g' /tmp/portada3 sed -i 's/Ò/\Ò\;/g' /tmp/portada3 sed -i 's/Ù/\Ù\;/g' /tmp/portada3 sed -i 's/ñ/\ñ\;/g' /tmp/portada3 sed -i 's/Ñ/\Ñ\;/g' /tmp/portada3 # Movemos el fichero resultante al # nombre que le corresponde segun # el primer parametro rm /var/www/portada_$1.html mv /tmp/portada3 /var/www/portada_$1.html chown www-data: /var/www/portada_$1.html # Borramos los ficheros temporales rm /tmp/portada /tmp/portada2 } # Llamamos a la funcion con el codigo de idioma getPortada ca getPortada en getPortada es exit 0
#6 Actualitzat per Alejandro Martín fa més de 11 anys
#!/bin/sh # Definimos la funcion getPortada() { # Descargamos la portada correspondiente # al primer parametro especificado al # llamar a la funcion wget http://guifi.net/$1/portada -O /tmp/portada # Cargamos las cadenas del fichero # /tmp/portada que contengan el texto # "<h2>" en /tmp/portada2 grep "<h2>" /tmp/portada > /tmp/portada2 # Añadimos la etiqueta de inicio de lista # desordenada a /tmp/portada3 echo "<ul>" > /tmp/portada3 # Cargamos en /tmp/portada3 a # partir de la 8a linea de /tmp/portada2 tail -n+8 /tmp/portada2 >> /tmp/portada3 # Sustituimos <h2> por <li> en /tmp/portada3 sed -i 's/<h2>/<li>/g' /tmp/portada3 # Sustituimos <a href=" por # <a href="http://guifi.net sed -i 's/<a href="/<a target="_blank" href="http:\/\/guifi.net/g' /tmp/portada3 # Sustituimos </h2> por </li> sed -i 's/<\/h2>/<\/li>/g' /tmp/portada3 # Añadimos la etiqueta de fin de lista # a /tmp/portada3 echo "</ul>" >> /tmp/portada3 # Sustituimos tildes y eñes sed -i 's/á/\á\;/g' /tmp/portada3 sed -i 's/é/\é\;/g' /tmp/portada3 sed -i 's/í/\í\;/g' /tmp/portada3 sed -i 's/ó/\ó\;/g' /tmp/portada3 sed -i 's/ú/\ú\;/g' /tmp/portada3 sed -i 's/Á/\Á\;/g' /tmp/portada3 sed -i 's/É/\É\;/g' /tmp/portada3 sed -i 's/Í/\Í\;/g' /tmp/portada3 sed -i 's/Ó/\Ó\;/g' /tmp/portada3 sed -i 's/Ú/\Ú\;/g' /tmp/portada3 sed -i 's/à/\à\;/g' /tmp/portada3 sed -i 's/è/\è\;/g' /tmp/portada3 sed -i 's/ì/\ì\;/g' /tmp/portada3 sed -i 's/ò/\ò\;/g' /tmp/portada3 sed -i 's/ù/\ù\;/g' /tmp/portada3 sed -i 's/À/\À\;/g' /tmp/portada3 sed -i 's/È/\È\;/g' /tmp/portada3 sed -i 's/Ì/\Ì\;/g' /tmp/portada3 sed -i 's/Ò/\Ò\;/g' /tmp/portada3 sed -i 's/Ù/\Ù\;/g' /tmp/portada3 sed -i 's/ñ/\ñ\;/g' /tmp/portada3 sed -i 's/Ñ/\Ñ\;/g' /tmp/portada3 # Movemos el fichero resultante al # nombre que le corresponde segun # el primer parametro rm /var/www/portada_$1.html mv /tmp/portada3 /var/www/portada_$1.html chown www-data: /var/www/portada_$1.html # Borramos los ficheros temporales rm /tmp/portada /tmp/portada2 } # Llamamos a la funcion con el codigo de idioma getPortada ca getPortada en getPortada es exit 0
#7 Actualitzat per eloi rebes fa més de 11 anys
- Estat ha canviat de In Progress a Resolved
- % realitzat ha canviat de 80 a 100