Wiki script - Dump sorgenti delle guide: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(+ è possibile scaricare solo una guida anziché l'intero dump)
Nessun oggetto della modifica
Riga 36: Riga 36:


insertguide () {
insertguide () {
local guida guida2
# Se il file di dump non esiste, lo script termina
# Se il file di dump non esiste, lo script termina
[ ! -f "$df" ] && exit
[ ! -f "$df" ] && echo "$df non esiste" && exit


echo -n "Inserire il titolo della guida (es. Installare Debian): "
echo -n "Inserire il titolo della guida (es. Installare Debian): "
Riga 43: Riga 46:


# Crea l'URL
# Crea l'URL
guida="guide.debianizzati.org/index.php?title=""$guida""&action=edit"
guida="guide.debianizzati.org/index.php?title="$guida"&action=edit"


# Salva l'URL originale
# Salva l'URL originale
Riga 49: Riga 52:


if [ -z "`grep "$guida" "$df"`" ]; then
if [ -z "`grep "$guida" "$df"`" ]; then
echo "Guida non trovata" && exit
echo "Guida non trovata" && exit
else
else
# Sostituisce . con \.
# Sostituisce . con \.
guida="${guida//"."/"\."}"
guida="${guida//"."/"\."}"


# Sostituisce & con \&
# Sostituisce & con \&
guida="${guida//"&"/"\&"}"
guida="${guida//"&"/"\&"}"


# Sostituisce / con \/
# Sostituisce / con \/
guida="${guida//"/"/"\/"}"
guida="${guida//"/"/"\/"}"


# Sostituisce [spazio] con \[spazio]
# Sostituisce [spazio] con \[spazio]
#guida="${guida//" "/"\ "}"
#guida="${guida//" "/"\ "}"


# Rimuove da wiki_source la guida con il titolo inserito
# Rimuove da wiki_source la guida con il titolo inserito
sed -i "/þþþþ/{N; /$guida/ {:a N; /øøøø/! ba;d}}" "$df"
sed -i "/þþþþ/{N; /$guida/ {:a N; /øøøø/! ba;d}}" "$df"


# File temporaneo
# File temporaneo
local temp=`mktemp`
local temp=`mktemp`


# Scarica la guida
# Scarica la guida
wget -q -O "$temp" "http://$guida2"
wget -q -O "$temp" "http://$guida2"


echo "þþþþ" >> "$df"
echo "þþþþ" >> "$df"
echo "$guida2" >> "$df"
echo "$guida2" >> "$df"
sed -n "/<textarea.*>/{s/^.*\">//;p; :a n; /.*textarea>/!{p;ba}; s/<\/textarea.*//;p}" "$temp" >> "$df"
sed -n "/<textarea.*>/{s/^.*\">//;p; :a n; /.*textarea>/!{p;ba}; s/<\/textarea.*//;p}" "$temp" >> "$df"
echo "øøøø" >> "$df"
echo "øøøø" >> "$df"


_lt
_lt


# Rimuove il file temporaneo
# Rimuove il file temporaneo
rm $temp
rm $temp


fi
fi
Riga 91: Riga 94:


totaldump () {
totaldump () {
local linea


# Crea un file temporaneo
# Crea un file temporaneo
Riga 111: Riga 116:


#numero righe del file
#numero righe del file
numerolinee=`cat $file | wc -l`
local numerolinee=`cat $file | wc -l`
count=1
 
local count=1
 
while read linea; do
while read linea; do
echo "[$count/$numerolinee]"
echo "[$count/$numerolinee]"

Versione delle 10:44, 18 mar 2014

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian


Questo script si occupa di creare un file di testo contenente la pagina sorgente di tutte le guide del namespace principale del Wiki.
Lo script si basa sul file "listaguide_source_url" creato con quest'altro script. Il dump si troverà nel file "wiki_source".


#!/bin/bash

# Questo file deve essere creato con lo script che si trova
# in "http://guide.debianizzati.org/index.php/Wiki script - Lista delle guide"
file="listaguide_source_url"

# Il nome del file che contiene il dump delle guide
df="wiki_source"

# Controlla se esiste il file listaguide_source_url
if [ ! -f "$file" ]; then
echo "Il file "$file" non esiste. Uscita."
exit 1
fi

# Se wget non è installato, lo script termina.
if [ ! -f /usr/bin/wget ]; then
echo "wget non è presente. Uscita."
exit 1
fi


# --------------------------------------------------
# Funzione che aggiorna il dump scaricando una guida
# --------------------------------------------------

insertguide () {

local guida guida2

# Se il file di dump non esiste, lo script termina
[ ! -f "$df" ] && echo "$df non esiste" && exit

echo -n "Inserire il titolo della guida (es. Installare Debian): "
read "guida"

# Crea l'URL
guida="guide.debianizzati.org/index.php?title="$guida"&action=edit"

# Salva l'URL originale
guida2=$guida

if [ -z "`grep "$guida" "$df"`" ]; then
 echo "Guida non trovata" && exit
else
 # Sostituisce . con \.
 guida="${guida//"."/"\."}"

 # Sostituisce & con \&
 guida="${guida//"&"/"\&"}"

 # Sostituisce / con \/
 guida="${guida//"/"/"\/"}"

 # Sostituisce [spazio] con \[spazio]
 #guida="${guida//" "/"\ "}"

 # Rimuove da wiki_source la guida con il titolo inserito
 sed -i "/þþþþ/{N; /$guida/ {:a N; /øøøø/! ba;d}}" "$df"

 # File temporaneo
 local temp=`mktemp`

 # Scarica la guida
 wget -q -O "$temp" "http://$guida2"

 echo "þþþþ" >> "$df"
 echo "$guida2" >> "$df"
 sed -n "/<textarea.*>/{s/^.*\">//;p; :a n; /.*textarea>/!{p;ba}; s/<\/textarea.*//;p}" "$temp" >> "$df"
 echo "øøøø" >> "$df"

 _lt

 # Rimuove il file temporaneo
 rm $temp

fi
}


# ----------------------------------------------
# Funzione che effettua il dump di tutte le guide
# ----------------------------------------------

totaldump () {

local linea

# Crea un file temporaneo
local temp=`mktemp`

# Previene l'accidentale sovrascrittura del dump
if [ -f "$df" ]; then
echo -n "Esiste già il file "$df". Sovrascrivere [S/n]? "
read risp
case $risp in
"") rm "$df" ;;
[Ss]) rm "$df" ;;
*) exit 1;;
esac
fi

# Legge gli indirizzi delle pagine dal file listaguide_source_url
# e invia le pagine sorgente al file "wiki_source" con due righe di separazione:
# iniziale (þ=AltGr+p) e finale (ø=AltGr+o)

#numero righe del file
local numerolinee=`cat $file | wc -l`

local count=1

while read linea; do
echo "[$count/$numerolinee]"
tput cuu1
((count++))
wget -q -O "$temp" "$linea"
echo "þþþþ" >> "$df"
echo "$linea" >> "$df"
sed -n "/<textarea.*>/{s/^.*\">//;p; :a n; /.*textarea>/!{p;ba}; s/<\/textarea.*//;p}" "$temp" >> "$df"
echo "øøøø" >> "$df"
done < "$file"

_lt

# Rimuove il file temporaneo
rm "$temp"
}


# Sostituisce "<" con "<" nel file di dump
_lt () {
sed -i 's/</</g' "$df"
}

clear

echo -n "
########################################################################
## Script che permette di effettuare il dump dei sorgenti delle guide ##
## oppure di effettuare il dump di una sola guida. Questa verrà       ##
## cancellata da wiki_source, scaricata nuovamente e aggiunta in coda ##
## a wiki_source                                                      ##
########################################################################

[1] Dump di tutte le guide
[2] Download di una guida
Numero: "
read num
case $num in
1) totaldump ;;
2) insertguide ;;
esac




Guida scritta da: S3v 22:36, 22 mar 2013 (CET) Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized