Característica #12
script per generar les noticies de la portada
| Estat: | Resolved | Inici: | 10-12-2012 | |
|---|---|---|---|---|
| Prioritat: | Normal | Data de venciment: | ||
| Assignat a: | % 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 almost 13 years
- % realitzat ha canviat de 0 a 50
#2
Actualitzat per eloi rebes fa almost 13 years
- % realitzat ha canviat de 50 a 80
#3
Actualitzat per Alejandro Martín fa almost 13 years
#!/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 almost 13 years
#!/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 almost 13 years
#!/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 almost 13 years
#!/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 almost 13 years
- Estat ha canviat de In Progress a Resolved
- % realitzat ha canviat de 80 a 100