• [^] # Re: VOD

    Posté par . En réponse au journal Loppsi 2 sur France5 dans 10 minutes. Évalué à 3.

    Puisqu’on en est au script, le mien est plus gros :P

    Utilisation : ./script YYYYMMJJ
    Ou ./script sans arguments pour la vidéo du jour (un peu après 19h)
    Télécharge par défaut dans "~/vidéos/C dans l'air" (variable DIR)
    C’est un spécial « connexion qui merdouille »

    #!/bin/sh

    DIR="$HOME/vidéos/C dans l'air"
    WAIT=15

    if [ ! -d "$DIR" ]
    then
    echo "Création du répertoire $DIR"
    mkdir -p "$DIR" || (echo "Échec" && exit 1)
    fi

    if [ -z 1ドル ]
    then
    DATE=$(date +%Y%m%d)
    else
    DATE=1ドル
    fi

    echo "Tentative de téléchargement de C dans l’air de $DATE"

    CONTINUE=1
    while [ $CONTINUE -eq 1 ]
    do
    LOG_FILE=$(mktemp) || exit 1
    mplayer mms://a533.v55778.c5577.e.vm.akamaistream.net/7/533/5577/42c40fe4/lacinq.download.akamai.com/5577/internet/cdanslair/cdanslair_$DATE.wmv \
    -dumpstream \
    -dumpfile "$DIR/C dans l'air $DATE.wmv" \
    > $LOG_FILE 2>&1 &
    PID=$!
    sleep 3
    if [ -f "$DIR/C dans l'air $DATE.wmv" ]
    then
    echo "Fichier en cours de téléchargement"
    wait $PID
    LOG_G=$(grep "Everything done. Thank you for downloading a media file containing proprietary and patented technology." \
    $LOG_FILE)
    rm $LOG_FILE
    if [ "$LOG_G" = "" ]
    then
    echo "Erreur lors du téléchargement"
    rm "$DIR/C dans l'air $DATE.wmv"
    else
    echo "Téléchargement effectué"
    CONTINUE=0
    fi
    else
    kill $PID
    rm $LOG_FILE
    kill $PID 2>/dev/null
    if [ $WAIT -lt 60 ]
    then
    echo "Fichier non disponible, réessai dans $WAIT secondes, C-c pour abandonner"
    else
    echo "Fichier non disponible, réessai dans $(($WAIT/60)) minute(s), C-c pour abandonner"
    fi
    sleep $WAIT
    if [ $WAIT -lt 3600 ]
    then
    WAIT=$(($WAIT*2))
    fi
    fi
    done