forked from phc/dm-scripts
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.2 KiB
Plaintext
108 lines
3.2 KiB
Plaintext
3 years ago
|
#!/usr/bin/env bash
|
||
|
|
||
|
# Supporta scaricamento di tutti i video, e opzionalmente pdf, di alcuni corsi di
|
||
|
# Analisi Matematica del professor Massimo Gobbino, reperibili anche al seguente
|
||
|
# indirizzo: http://pagine.dm.unipi.it/gobbino/Home_Page/ArchivioDidattico.html
|
||
|
|
||
|
usage() {
|
||
|
_name="$(basename "$0")"
|
||
|
cat << EOF
|
||
|
Utilizzo: ${_name} [codiceCorso] [anno]
|
||
|
|
||
|
Note:
|
||
|
Per scaricare anche i pdf, digita 'pdf=true' prima di chiamare lo script.
|
||
|
|
||
|
Esempi:
|
||
|
|
||
|
${_name} AM1 17
|
||
|
|
||
|
pdf=true ${_name} Precorsi 09
|
||
|
|
||
|
${_name} AM2 18
|
||
|
|
||
|
${_name} IstAM 21
|
||
|
|
||
|
Lista di Corsi implementati:
|
||
|
PCM 07
|
||
|
AM1 17, AM1 15
|
||
|
AM 13, AM 12, AM 11, AM 10, AM 09
|
||
|
AM2 20, AM2 18, AM2 16, AM2 14
|
||
|
C 07
|
||
|
T 08, T 07
|
||
|
AL 19, AL 15, AL 14
|
||
|
SA 13, SA 11, SA 10, SA 15, SA 14, SA 12
|
||
|
IstAM 21, IstAM 20, IstAM 19
|
||
|
CdV 18, CdV 17, CdV 16
|
||
|
Freiberg 17
|
||
|
|
||
|
Bug Noti:
|
||
|
- I precorsi del 2008 e 2009 hanno una numerazione diversa,
|
||
|
che non è stata implementata. Se qualche altro corso
|
||
|
non si scarica correttamente, fammelo sapere via mail:
|
||
|
f.minnocci@studenti.unipi.it.
|
||
|
Credits:
|
||
|
- http://poisson.phc.dm.unipi.it/~dilillo/Vario/Gobbino.sh
|
||
|
- http://pagine.dm.unipi.it/gobbino/Home_Page/ArchivioDidattico.html
|
||
|
EOF
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
main () {
|
||
|
c="$1" # Codice Corso
|
||
|
y="$2" # Anno
|
||
|
|
||
|
if [ "$c" = "Precorsi" ]; then
|
||
|
string="PCM$y"
|
||
|
loc="Precorsi/$string"
|
||
|
else
|
||
|
pre="L" # Prefisso
|
||
|
string="${c}_${y}"
|
||
|
loc="$string"
|
||
|
fi
|
||
|
|
||
|
case "$string" in
|
||
|
PCM07) count=10;; AM1_17) count=135;; AM1_15) count=133;; AM13) count=109;; AM12) count=111;; AM11) count=109;; AM10) count=111;; AM09) count=109;; AM2_20) count=60;; AM2_18) count=129;; AM2_16) count=138;; AM2_14) count=60;; C07) count=48;; T08) count=100;; T07) count=100;; AL_19) count=60;; AL_15) count=60;; AL_14) count=59;; SA13) count=30;; SA11) count=26;; SA10) count=26;; SA15) count=30;; SA14) count=30;; SA12) count=30;; IstAM_21) count=70;; IstAM_20) count=70;; IstAM_19) count=70;; CdV_18) count=48;; CdV_17) count=48;; CdV_16) count=48;; Freiberg_17) count=8;; *) printf "ERRORE:\n\tNon ho trovato il corso \"$string\".\n\n" && usage;;
|
||
|
esac
|
||
|
|
||
|
# Crea una cartella dopo aver controllato che il codice sia valido
|
||
|
mkdir "VideoGobbino$c$y"
|
||
|
cd "VideoGobbino$c$y" || (printf "ERRORE:\n\tNon è stato possibile creare una cartella per il corso \"$string\".\nControlla di avere i permessi necessari." && return 1)
|
||
|
|
||
|
if [ "$count" -ge 100 ]; then
|
||
|
for i in $(seq -f "%03g" 1 $count); do
|
||
|
curl -O http://pagine.dm.unipi.it/gobbino/Tablet/$loc/"$string"_$pre$i.avi
|
||
|
done
|
||
|
|
||
|
if $p; then
|
||
|
for i in $(seq -f "%03g" 1 $count); do
|
||
|
curl -O http://pagine.dm.unipi.it/gobbino/Tablet/$loc/"$string"_$pre$i.pdf
|
||
|
done
|
||
|
fi
|
||
|
elif [ "$count" -ge 10 ]; then
|
||
|
for i in $(seq -f "%02g" 1 $count); do
|
||
|
curl -O http://pagine.dm.unipi.it/gobbino/Tablet/$loc/"$string"_$pre$i.avi
|
||
|
done
|
||
|
|
||
|
if $p; then
|
||
|
for i in $(seq -f "%02g" 1 $count); do
|
||
|
curl -O http://pagine.dm.unipi.it/gobbino/Tablet/$loc/"$string"_$pre$i.pdf
|
||
|
done
|
||
|
fi
|
||
|
else
|
||
|
for i in $(seq -f "%01g" 1 $count); do
|
||
|
curl -O http://pagine.dm.unipi.it/gobbino/Tablet/$loc/"$string"_$pre$i.avi
|
||
|
done
|
||
|
|
||
|
if $p; then
|
||
|
for i in $(seq -f "%01g" 1 $count); do
|
||
|
curl -O http://pagine.dm.unipi.it/gobbino/Tablet/$string/"$string"_$pre$i.pdf
|
||
|
done
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# Esecuzione dello script
|
||
|
p=${pdf:-false}
|
||
|
[ "$#" -lt 2 ] && usage
|
||
|
main "$@"
|