Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Author: Andrea Lazzarotto
- # http://andrealazzarotto.com
- # andrea.lazzarotto@gmail.com
- # Smooth Streaming Bash Wrapper
- # This is a wrapper for the ismdownloader2 Windows executable under Wine.
- # License:
- # Copyright 2012 Andrea Lazzarotto
- # This script is licensed under the Gnu General Public License v3.0.
- # You can obtain a copy of this license here: http://www.gnu.org/licenses/gpl.html
- export WINEPREFIX=$HOME/.smoothwine
- URL="$1"
- NAME="$2"
- if [ $# -ne 2 ]
- then
- echo "Usage: `basename $0` url filename"
- exit 1
- fi
- function percentage {
- n=50
- p=$1
- echo -n '['
- while [ $n -gt 0 ]; do
- if [ $p -gt 0 ];
- then
- echo -n '#'
- p=$(( $p - 2 ))
- else echo -n '-'
- fi
- n=$(( $n - 1 ))
- done
- echo -n ']'
- echo -n " ${1}%"
- }
- dur="u"
- echo "Verrà scaricato il video dall'url $URL"
- echo ""
- echo "Caricamento in corso..."
- echo ""
- wine $WINEPREFIX/drive_c/ismdownloader.exe "$URL" "C:\\$NAME.mkv" 2>/dev/null | while read -r -d '.' line; do
- line=`echo $line | tr '\r' ' '`
- if [ $dur = "u" ]; then # deve leggere la durata
- line=`echo $line | sed -s "s/.*Dur/Dur/g"`
- line1=`echo $line | cut -d ' ' -f 1`
- line2=`echo $line | cut -d ' ' -f 2`
- if [ $line1 = "Duration:" ]; then
- dur="$line2"
- h=`echo $dur | cut -d ':' -f 1`
- m=`echo $dur | cut -d ':' -f 2`
- s=`echo $dur | cut -d ':' -f 3`
- time=`echo "(($h * 60) + $m) * 60 + $s" | bc`
- echo -e "Durata del video: $dur\n"
- fi
- else # stampa la percentuale ogni volta che può
- line=`echo $line | cut -d ' ' -f 2`
- case $line in
- (*:*:*)
- par="$line"
- h=`echo $par | cut -d ':' -f 1`
- m=`echo $par | cut -d ':' -f 2`
- s=`echo $par | cut -d ':' -f 3`
- part=`echo "(($h * 60) + $m) * 60 + $s" | bc`
- perc=`echo "($part * 100) / $time" | bc`
- echo -e -n "\r"
- echo -n "$par "
- percentage $perc
- echo -n ' '
- ;;
- esac
- fi
- done # ha finito di leggere l'output
- echo -e "\n"
- echo "Pulizia in corso..."
- rm -rf "$WINEPREFIX/drive_c/$NAME"
- mv "$WINEPREFIX/drive_c/$NAME.mkv" .
- echo ""
- echo "Download terminato, il video si trova in `pwd`/$NAME.mkv"
Add Comment
Please, Sign In to add comment