Voila une petite beta avec l'ajout de la multi selection d'émission
pour pouvez sélectionner plusieur émission en restant appuyé sur CTRL
de plus le script est un deux parties
arte_lancer et arte_fonction plus les fichiers de langue
donc
arte_lancer
#!/bin/bash
##Version 4.3 beta
. arte_fonction
##Déclaration variable
extension=.wmv
config=/home/$USER/.arteplus7
language=`echo "$LANG" | awk -F'"' '{print $1}' | awk -F'_' '{print $1}'`
source /usr/share/arteplus7/$language
##Choix du répertoire de téléchargement
ls /home/$USER/.arteplus7/.config
if [ "$PIPESTATUS" = "2" ] ; then
ls /home/$USER/Vidéos/arte
if [ "$PIPESTATUS" = "2" ] ; then
config
else
zenity --question --title="$titre_config" --text="$texte_rep_arte"
if [ "$PIPESTATUS" = "0" ] ; then
mkdir -p $config
echo /home/$USER/Vidéos/arte > $config/.config
else
config
fi
fi
fi
emplacement=$(head -1 $config/.config)
##création du répertoire vidéos/arte
mkdir -p $emplacement
cd $config
##recuperation page arte
lien_arte=`wget -O - -q http://plus7.arte.tv/ | grep xmlURL | awk -F'"' '{print $4}'`
lien_xml="http://plus7.arte.tv/"$language/$lien_arte
##recuperation fichier xml
wget $lien_xml
fichier_xml=`echo $lien_arte | awk -F"/" '{print $4}'`
##Selecteur d'émissions
choix_emission
et arte_fonction
#!/bin/bash
##Version 4.3 beta
##Fonction Configuration
config()
{
zenity --info --title="$titre_config" --text="$texte_config"
REP=$(zenity --title="$titre_repertoire" --file-selection --directory)
mkdir -p $config
echo "$REP"/arte > $config/.config
}
##Fonction Annuler
annuler ()
{
if [ "$PIPESTATUS" = "1" ] ; then
rm *
exit
fi
}
##Fonction choix de l'emission
choix_emission()
{
grep -F "<title>
<startDate>
<targetURL>" $fichier_xml | sed 's#</.*##;s#.*>##' | sed 's/amp;//'>liste_emissions
(cat liste_emissions | zenity --list --multiple --hide-column=3 --print-column=3 --width=630 --height=500 \
--title="Arte +7 recorder" \
--text="$texte_choix" \
--column="$collumn1_choix" --column="$collumn2_choix" --column="Url" >emission_selectionner);
annuler
selec_multiple
}
##Fonction sélection multiple
selec_multiple()
{
x=1
y=`awk 'BEGIN{ FS="|" }{ print NF-1 }' emission_selectionner`
y=$(($y+1))
if [ "$y" = "1" ] ; then
dl_multi=0
emission_selectionner=`cat emission_selectionner`
info_emission
else
while [ "$x" -le "$y" ] ; do
emission_selectionner=`awk -F"|" '{print $'$x'}' emission_selectionner`
info_emission
x=$(($x+1))
done
fi
}
##Fonction information sur l'émission
info_emission()
{
date_emission_info=`grep -a -B 2 $emission_selectionner liste_emissions | grep -v 'http' | grep 'T[0-9][0-9]:' | sed 's/T[0-9].*//'`
TITREBASE=`grep -a -B 2 $emission_selectionner liste_emissions | grep -v 'http' | grep -v 'T[0-9][0-9]:'`
resume_emission_info=`wget -O - -q $emission_selectionner | grep -A 2 '<p class="text">'| sed -e 's/^\s*//' | sed 's#<#_<#g'| tr "_" "\n" | sed 's#</.*##;s#.*>##'`
source /usr/share/arteplus7/$language
if [ "$dl_multi" = "0" ] ; then
zenity --question --title="$titre_info" --text="$texte_info
$date_info
$resume_info $resume_emission_info"
if [ "$PIPESTATUS" = "1" ] ; then
choix_emission
else
download
fi
else
zenity --info --text="Téléchargement de $y émission(s)"
download
fi
}
##Fonction téléchargement
download()
{
#Tanscription du titre
nom_wmv=`echo "$TITREBASE" | tr " 'šª©/" "__eee_" | tr -cd "[:alnum:]_"`
#Fichier Temporaire
fichier_temporaire=`echo "$nom_wmv"_temp.wmv`
#recherche si HQ est disponible
wget -O - -q $emission_selectionner | grep wmv | grep HQ
if [ "$PIPESTATUS" = "0" ] ;
then qualite="HQ"
else qualite="MQ"
fi
#recuperation du lien de la vidéo
fichier_source=`wget -O - -q $emission_selectionner | grep wmv | grep $qualite | awk -F= '{print $2}' | awk -F\" '{print $2}' | awk -F\? '{print $1}'`
wget $fichier_source -O $fichier_temporaire
#extrait le lien mms
MMS=`cat $fichier_temporaire | grep mms | awk -F\" '{print $2}'`
#netoyage
rm *
#telechargement et prévisualisation
if [ "$dl_multi" = "0" ] ; then
mimms -r $MMS "$emplacement"/$nom_wmv'_'$date_emission_info$extension | gawk -vRS="\r" '/^[0-9]/{print "#"$0 ; fflush();}' | zenity --progress --pulsate --title="$titre_dl" --text="$texte_dl" --auto-close --auto-kill&
sleep 30s && zenity --question --title="$titre_previsualiser" --text="$texte_previsualiser"
if [ "$PIPESTATUS" = "0" ] ; then
totem "$emplacement"/$nom_wmv2'_'$date_emission_info$extension
previsualisation=1
else
previsualisation=0
fi
else
mimms -r $MMS "$emplacement"/$nom_wmv'_'$date_emission_info$extension | gawk -vRS="\r" '/^[0-9]/{print "#"$0 ; fflush();}' | zenity --progress --pulsate --title="$titre_dl" --text="téléchargement $x/$y" --auto-close --auto-kill&
fi
#notif finale
wait
if [ "$dl_multi" = "0" ] ; then
echo message:$texte_notfication_multi | zenity --notification --listen --window-icon="info" | zenity --notification --window-icon="info" --text="$texte_notfication_multi"
fi
#ouverture du fichier
if [ "$dl_multi" = "0" ] && [ "$previsualisation" = "1"] ; then
exit
else
zenity --question --title="$titre_previsualiser" --text="$texte_lecture"
if [ "$PIPESTATUS" = "0" ] ; then
totem "$emplacement"/$nom_wmv2'_'$date_emission_info$extension
else
exit
fi
fi
}