#1 Le 17/05/2006, à 11:24
- pabix
Script téléchargeant ou faisant jouer à la volée des émissions TV
Bonjour,
J'ai fait beaucoup avancer un script permettant de visionner pas mal d'émissions de Canal plus et de France 2. Ne sachant dans quelle section le placer dans la doc, je vous le livre ici.
Pour l'exécuter sans problème, il faut zenity, et le paquet mimms
Il reste un bug : pendant le téléchargement, il est impossible d'annuler. Le clic sur la croix aussi n'arrête pas l'exéution de mimms. Je me suis pris la tête une semaine avec ça, j'ai abandonné. Pas moyen de gérer correctement ces processus.
SVP pour corriger ce script il serait bien de le placer qq part dans la doc. Si le prochain trouve un endroit adéquat, qu'il le fasse savoir et qu'on ne fasse pas un topic à rallonge...
Benoit
#!/bin/sh
#
# CanalM Easy Version 1.0 Fr (17 mai 2006)
#
# Petit script pour télécharger des émissions de Canal+ et France 2 :
#
# - Journaux télévisés de 8, 13 et 20 heures
#
# - Les Guignols
# - Le Zapping
# - 7 Jours au Groland
# - La Minute Blonde
# - La Boite à Questions
# - L'Anniversaire
# - Le Vrai Journal
# - Nous Ne Sommes Pas Des Anges
# - Vendredi Pétantes
# - Samedi Pétantes
# - Le Grand Journal
# - Germain fait sa télé
# - En aparté
# Par Maxfox
# maxfox (tout attaché) 777 chez hot mail.fr
# Par Pabix
# mortgat chez gmail point com
# Par fsail
#
# Dépendances : mimms & zenity
# Fonctionnel sur Ubuntu
#
# Encoding UTF-8
# Licence : GNU GPL
# Copyright (C) (Owner)
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# définitions des variables
dossier=$HOME/Desktop
racineF2='mms://sdmc.contents.edgestreams.net/horsgv/regions/siege/infos/f2'
racineCP='mms://vipmms.canalplus.fr/canalplus'
lecteur=mplayer
# Définitions des fonctions de récupération des vidéos :
# * play_program : jouer directement : ajout à la liste de lecture
# * get_program : télécharger dans le dossier
function play_program(){
${lecteur} "${2}${datec}${3}"
}
function get_program(){
( mimms -o "${dossier}/${1} ${datec}.wmv" "${2}${datec}${3}" | zenity --progress --title="Téléchargement" --text="L'émission « ${4} » est en cours de téléchargement..." --pulsate --auto-close
#Vérification que le fichier n'est pas vide
if (file "${dossier}/${1} ${datec}.wmv" | grep empty$ ) ; then
zenity --error --title="Erreur" --text="Impossible de télécharger « ${4} », vérifiez la disponibilité"
rm "${dossier}/${1} ${datec}.wmv"
fi
)&
}
# Choix de la méthode
methode=`zenity --title "Méthode ?" --text "Que souhaitez-vous faire ?" --list --column="Choisissez" "Télécharger" "Jouer directement"`
# Clic sur « Annuler » ou absence de choix
if [ "$?" != 0 ] || [ ! "$methode" ]; then
exit
fi
# Traitement de la méthode
fonc="get_program"
if [ "$methode" == "Jouer directement" ]; then
fonc="play_program"
fi
# Vérifier que mimms est bien présent
if [ "$fonc" == "get_program" ] ; then
mimms_path=`which mimms`
if [ ! "$mimms_path" ] || [ ! -x "$mimms_path" ] ; then
zenity --error --title="erreur" --text="Impossible de trouver l'executable « mimms ». Veuillez installer le paquet mimms et vérifier que vous avez les droits en exécution. Le téléchargement de votre émission est impossible, elle sera visionnée directement."
fonc="play_program";
fi
fi
# Choisir l'émission à télécharger
title="Choix de l'émission"
text="Choisissez dans la liste, en tenant compte des jours de diffusion."
emission=`zenity --title "$title" --width=500 --height=500 --text "$text" --list --column="Emissions" --column "Chaîne" --column "Diffusion" "20 heures" "France 2" "Tous les jours" "13 heures" "France 2" "Tous les jours" "8 heures" "France 2" "du lundi au vendredi" "Le Grand Journal" "Canal +" "du Lundi au Jeudi" "Les Guignols" "Canal +" "du Lundi au Vendredi" "Le Zapping" "Canal +" "du Lundi au Vendredi" "7 Jours au Groland" "Canal +" "le Samedi" "La Minute Blonde" "Canal +" "du Lundi au Jeudi" "La Boite à Questions" "Canal +" "du Lundi au Jeudi" "L'Anniversaire" "Canal +" "du Lundi au Jeudi" "Le Vrai Journal" "Canal +" "le Dimanche" "Nous Ne Sommes Pas Des Anges" "Canal +" "du Lundi au Vendredi" "Vendredi Pétantes" "Canal +" "le Vendredi" "Samedi Pétantes" "Canal +" "le Samedi" "Germain fait sa télé" "Canal +" "le Samedi" "Le petit journal" "Canal +" "du Lundi au Jeudi" "En aparte" "Canal +" "le Samedi"`
# Si l'utilisateur clique sur annuler
if [ "$?" != 0 ] ; then
exit
fi
# Si l'utilisateur n'a rien sélectionné
emission=`echo $emission | sed 's/ max//g'`
if [ ! "$emission" ]; then
zenity --error --title="erreur" --text="Vous devez faire un choix avant de valider"
exit
fi
# Choisir la date de l'émission à télécharger
datec=`zenity --title="Choisissez la date" --text="En cas d'erreur, vérifiez que l'émission a bien eu lieu." --calendar --date-format='%y%m%d' `
# Si l'utilisateur clique sur annuler
if [ "$?" != 0 ] ; then
exit
fi
# Si téléchargement : choix du dossier
if [ "$fonc" == "get_program" ] ; then
dossier=`zenity --title="Choix du dossier" --width=500 --text="Dans quel dossier souhaitez-vous télécharger votre film ?" --entry --entry-text="$dossier"`
fi
dossier=`echo $dossier | sed "s/\/$//g"` # suppression du dernier slash
# Si erreur sur le dossier
if [ ! -w "$dossier" ] ; then
dossier=$HOME
zenity --warning --title="erreur" --width=500 --text="Le dossier spécifié n'existe pas ou ne possède pas les droits en écriture. Le téléchargement se fera dans $dossier."
fi
################# Télécharger l'émission choisie ###################
# Descriptions des arguments :
# 1er argument : nom du fichier si la fonction est get_program
# 2e argument : partie de l'URL précédant la date
# 3e argument : partie de l'URL suivant la date
# 4e argument : titre à afficher dans la boîte de dialogue si la fonction est play_program
# "20H".
if [ "$emission" == "20 heures" ]; then
${fonc} '20 heures' "${racineF2}/20h/HD_20h_20" '.wmv?WMCache=1&WMBitRate=280000' 'Journal de vingt heures'
fi
# "13H".
if [ "$emission" == "13 heures" ]; then
${fonc} '13 heures' "${racineF2}/13h/HD_13h_20" '.wmv?WMCache=1&WMBitRate=280000' 'Journal de treize heures'
fi
# "8H".
if [ "$emission" == "8 heures" ]; then
${fonc} '8 heures' "${racineF2}/8h/HD_8h_20" '.wmv?WMCache=1&WMBitRate=280000' 'Journal de huit heures'
fi
# "Les Guignols".
if [ "$emission" == "Les Guignols" ]; then
${fonc} 'Les guignols' "${racineCP}/guignols_" '_a.wmv' "Les guignols de l'information"
fi
# "Le Zapping".
if [ "$emission" == "Le Zapping" ]; then
${fonc} 'Le zapping' "${racineCP}/zapping_" '_a.wmv' 'Le zapping'
fi
# "7 Jours au Groland".
if [ "$emission" == "7 Jours au Groland" ]; then
${fonc} '7 jours au Groland (1)' "${racineCP}/groland_" '_a.wmv' '7 jours au Groland (partie 1)'
${fonc} '7 jours au Groland (2)' "${racineCP}/groland_" '_b.wmv' '7 jours au Groland (partie 2)'
fi
# "La Minute Blonde".
if [ "$emission" == "La Minute Blonde" ]; then
${fonc} 'La minute blonde' "${racineCP}/minute_" '_a.wmv' 'La minute blonde'
fi
# "La Boite à Questions".
if [ "$emission" == "La Boite à Questions" ]; then
${fonc} 'La Boîte à Questions' "${racineCP}/questions_" '_a.wmv' 'La Boîte à Questions'
fi
# "L'Anniversaire".
if [ "$emission" == "L'Anniversaire" ]; then
${fonc} 'Anniversaire' "${racineCP}/anniversaire_" '_a.wmv' "L'anniversaire"
fi
# "Le Vrai Journal".
if [ "$emission" == "Le Vrai Journal" ]; then
${fonc} 'Le Vrai Journal (1)' "${racineCP}/vraijournal_" '_a.wmv' 'Le vrai journal (partie 1)'
${fonc} 'Le Vrai Journal (2)' "${racineCP}/vraijournal_" '_b.wmv' 'Le vrai journal (partie 2)'
fi
# "Nous ne Sommes Pas des Anges".
if [ "$emission" == "Nous Ne Sommes Pas Des Anges" ]; then
${fonc} 'Nous ne sommes pas des anges (1)' "${racineCP}/nousnesommes_" '_a.wmv' 'Nous ne sommes pas des anges (partie 1)'
${fonc} 'Nous ne sommes pas des anges (2)' "${racineCP}/nousnesommes_" '_b.wmv' 'Nous ne sommes pas des anges (partie 2)'
fi
# "Vendredi Pétantes".
if [ "$emission" == "Vendredi Pétantes" ]; then
${fonc} 'Vendredi pétantes (1)' "${racineCP}/vendredi-petantes_" '_a.wmv' 'Vendredi pétantes (partie 1)'
${fonc} 'Vendredi pétantes (2)' "${racineCP}/vendredi-petantes_" '_b.wmv' 'Vendredi pétantes (partie 2)'
${fonc} 'Vendredi pétantes (3)' "${racineCP}/vendredi-petantes_" '_c.wmv' 'Vendredi pétantes (partie 3)'
${fonc} 'Vendredi pétantes (4)' "${racineCP}/vendredi-petantes_" '_d.wmv' 'Vendredi pétantes (partie 4)'
fi
# "Samedi Pétantes".
if [ "$emission" == "Samedi Pétantes" ]; then
${fonc} 'Samedi Pétantes (1)' "${racineCP}/samedi-petantes_" '_a.wmv' 'Samedi Pétantes (partie 1)'
${fonc} 'Samedi Pétantes (2)' "${racineCP}/samedi-petantes_" '_b.wmv' 'Samedi Pétantes (partie 2)'
${fonc} 'Samedi Pétantes (3)' "${racineCP}/samedi-petantes_" '_c.wmv' 'Samedi Pétantes (partie 3)'
fi
# "Le Grand Journal".
if [ "$emission" == "Le Grand Journal" ]; then
${fonc} 'Le Grand Journal (1)' "${racineCP}/grandjournal_" '_a.wmv' 'Le Grand Journal (partie 1)'
${fonc} 'Le Grand Journal (2)' "${racineCP}/grandjournal_" '_b.wmv' 'Le Grand Journal (partie 2)'
${fonc} 'Le Grand Journal (3)' "${racineCP}/grandjournal_" '_c.wmv' 'Le Grand Journal (partie 3)'
${fonc} 'Le Grand Journal (4)' "${racineCP}/grandjournal_" '_d.wmv' 'Le Grand Journal (partie 4)'
fi
# "Le petit journal"
if [ "$emission" == "Le petit journal" ]; then
${fonc} 'Le Petit Journal' "${racineCP}/petitjournal_" '_a.wmv' 'Le Petit Journal '
fi
# "Germain fait sa télé"
if [ "$emission" == "Germain fait sa télé" ]; then
${fonc} 'Germain fait sa télé)' "${racineCP}/germain_" '_a.wmv' 'Germain fait sa télé'
fi
# "En aparte"
if [ "$emission" == "En aparte" ]; then
${fonc} 'En aparte(1)' "${racineCP}/enaparte_" '_a.wmv' 'En aparte (partie 1)'
${fonc} 'En aparte(2)' "${racineCP}/enaparte_" '_b.wmv' 'En aparte (partie 2)'
fi
##################
Dernière modification par pabix (Le 30/05/2006, à 05:58)
Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D
Hors ligne
#2 Le 17/05/2006, à 12:30
- bobuse
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Pour info, il existe http://televidilo.bouil.org/
Hors ligne
#3 Le 17/05/2006, à 18:04
- coubi64
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
J'ai rajouté le dépôt pour mais il y a un pb de dépendance....:
frederic@ubuntu:~$ sudo apt-get install televidilo
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.Puisque vous n'avez demandé qu'une seule opération, le paquet n'est
probablement pas installable et vous devriez envoyer un rapport de bogue.
L'information suivante devrait vous aider à résoudre la situation :Les paquets suivants contiennent des dépendances non satisfaites :
televidilo: Dépend: python (< 2.4) mais 2.4.2-0ubuntu3 devra être installé
Dépend: python2.3-gtk2 mais il n'est pas installable
Dépend: python2.3-glade2 mais il n'est pas installable
E: Paquets défectueux
frederic@ubuntu:~$
Je suis sous Dapper, le dépôt que j'ai ajouté est:
deb http://thomas.enix.org/pub/debian/packages/ dapper main
Hors ligne
#4 Le 17/05/2006, à 19:27
- pabix
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Il y a une différence majeure entre televidilo et ce script : televidilo ne permet pas d'enregistrer l'émission sur son ordinateur.
Benoit
Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D
Hors ligne
#5 Le 17/05/2006, à 19:40
- coubi64
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
pabix, j'ai récupéré ton script, je te dis un grand bravo
Continues comme ça, c'est du bon travail
Hors ligne
#6 Le 17/05/2006, à 19:52
- manatlan
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
le deb de televidilo ne fonctionne pas ...
le plus simple étant de recuperer le svn ... c 2 scripts python + 1 xml ;-)
je bosse sur televidilo, et suis en train d'intégrer la lecture des flux RSS media ... pour acceder aux bandes annonces allociné et autres rss de youtube et cie ...
Il serait assez simple de rajouter un downloader de video dans televidilo ... si j'ai un peu de temps ; je le fait ...
mais comme on peut saisir la ligne de commande dans televidilo : ça doit dejà être faisable simplement ...
"Oui, oui."
-- Shakespeare (Richard III, Acte I, Scène IV)
Hors ligne
#7 Le 17/05/2006, à 20:00
- pabix
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
@manatlan : ce serait vraiment bien, merci !
Benoit
Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D
Hors ligne
#8 Le 17/05/2006, à 22:15
- Pololilo
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Hello tous...
Je me suis servit du script sh de téléchargement, et j'ai le processus zenity qui me prends 100% des ressources systeme.
Même apres la fin du téléchargement..
Avez vous eu ce type de symptome ?
@++
PoL
Gnu/Linux Addict
Hors ligne
#9 Le 18/05/2006, à 00:42
- maxfox
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
@ Pololilo, oui, enfin j'ai posé un rapport de bug mais on m'a gentiment répondu que s'en était pas un, que cela venait d'un autre processus... J'ai l'impression qu'il s'en fiche....
@ Pabix, bravo pour les améliorations, je n'aurais pas pu faire mieux...
Par contre j'aimerais savoir pourquoi tu ne la pas mis dans le fil original ? C'est sympa aussi de pouvoir suivre l'évolution d'un script dans sa continuité...
Dernière modification par maxfox (Le 18/05/2006, à 11:36)
Hors ligne
#10 Le 18/05/2006, à 06:56
- pabix
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
En fait je l'ai mis ici, parce que je souhaitais surtout qu'on intègre ça dans la doc. Le problème c'est que les visiteurs d'un forum s'attardent pas sur un topic voir si un code présenté en haut a été modifié en bas.
Ça serait bien une page sur le wiki, mais je trouve pas la section appropriée.
@Pololilo : Oui, je sais, zenity fait des belles bêtises. J'ai essayé aussi avec gdialog --gauge mais il y a pas d'animation, et encore qq autres problèmes.
Benoit
Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D
Hors ligne
#11 Le 18/05/2006, à 07:47
- coubi64
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Oui c'est vrai qu'il serait sympa de la maintenir à jour dans une rubrique du Wiki....
Hors ligne
#12 Le 18/05/2006, à 17:44
- coxx
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Pour information, pour televidilo, pour enregistrer en local l'émission, il suffit de mettre "Utiliser le lecteur" : mimms en bas de la fenêtre (plutôt que votre lecteur multimédia préféré).
Si vous n'avez pas mimms d'installé, sudo apt-get install mimms (sur les dépôts universe).
Monsieur K, de la chanson française parigote indépendante qui frappe fort !
Clips, paroles et sons disponibles sur le myspace de Monsieur K
Hors ligne
#13 Le 24/05/2006, à 06:31
- mondsur
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Decidement il marche bien ton script, j'ai un peu de mal a enregistrer mais au moins voir les infos c'est super. Je suis nul en programation et c'est bien domage je voudrais bienb t'aider a l'ameliorer (si jamais je peuc faire quelque chose fai le moi savoir)
-----morg-------
(mon futur blog : emulez windaube, freebsd, smdlinux, etc sur ubuntu)
Hors ligne
#14 Le 24/05/2006, à 09:45
- murran
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
est-il possible d'y ajouter une focntionnalité permettant de voir Arrêts sur Images ?
Televidilo ne réussit pas à le faire....
#15 Le 24/05/2006, à 10:02
- manatlan
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
est-il possible d'y ajouter une focntionnalité permettant de voir Arrêts sur Images ?
Televidilo ne réussit pas à le faire....
j'ai regardé le dernier "arrets sur image" avec televidilo l'autre soir ;-) (sur karl zero)
je peux te confirmer que ça marche ;-)
ce n'est peut être que dans la svn ...
"Oui, oui."
-- Shakespeare (Richard III, Acte I, Scène IV)
Hors ligne
#16 Le 24/05/2006, à 10:02
- Mase
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Je suis expat au vietnam et les guignols et le zapping commencaient a manquer aux francais de ma boite.
J'ai donc retoucher ce script afin qu'il recupere uniquement les guignols et le zapping de la veille, et le publie sur un repertoire web accessible sur le LAN.
Le script est exécuté tous les jours automatiquement par CRON.
Pour programmer une tache sous CRON, lancer la commande:
crontab -e
Puis editer le fichier de la maniere suivante:
00 05 * * * sh /home/mathieu/getCanal.sh >> /home/mathieu/canal.log
Sauvegarder le fichier.
Le script est maintenant programmé pour s'executer tous les jours a 5h du matin.
Voici le script modifié :
(Zenity n'est plus requis puisque aucune question n'est posee par le script):
getCanal.sh:
# définitions des variables
dossier=/var/www/canalplus
racineCP='mms://vipmms.canalplus.fr/canalplus'
datec=`date -d yesterday "+%y%m%d"`
# * get_program : télécharger dans le dossier
function get_program(){
(
sudo mimms -o "${dossier}/${1} ${datec}.wmv" "${2}${datec}${3}"
#Vérification que le fichier n'est pas vide
if (file "${dossier}/${1} ${datec}.wmv" | grep empty$ ) ; then
sudo rm "${dossier}/${1} ${datec}.wmv"
fi
)&
}
fonc="get_program"
${fonc} 'Le zapping' "${racineCP}/zapping_" '_a.wmv'
${fonc} 'Les guignols' "${racineCP}/guignols_" '_a.wmv'
#17 Le 24/05/2006, à 16:14
- pabix
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Mase : mimms produit une sortie standard très longue et inutile (des .......... pour faire patienter pendant le téléchargement)
Tu ne devrais garder que la sortie d'erreur de mimms en mettant un > /dev/null, sinon ton fichier canal.log va grossir grossir grossir.
Benoit
Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D
Hors ligne
#18 Le 24/05/2006, à 16:25
- coubi64
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
pabix, pourquoi ne pas créer un dépôt (ou l'intégrer dans un dépôt existant), ainsi on serait sûr de rester à jour....
Dernière modification par coubi64 (Le 24/05/2006, à 16:26)
Hors ligne
#19 Le 24/05/2006, à 16:26
- pabix
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Je veux bien, mais plusieurs questions :
*Où je le mets ? J'ai pas de serveur fixe
*je ne sais pas comment créer un dépôt
Benoit
Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D
Hors ligne
#20 Le 24/05/2006, à 16:36
- Riicooo
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Avant de créer un dépot il faut créer un .deb !
Les dépots sont très faciles à créer en comparaison !
Hors ligne
#21 Le 27/05/2006, à 03:12
- Mase
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Mase : mimms produit une sortie standard très longue et inutile (des .......... pour faire patienter pendant le téléchargement)
Tu ne devrais garder que la sortie d'erreur de mimms en mettant un > /dev/null, sinon ton fichier canal.log va grossir grossir grossir.
Benoit
FYI: Cron reecrit a chaque fois le fichier log, donc le fichier ne grossit jamais
#22 Le 29/05/2006, à 21:43
- fsail
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Salut, voici ma petite contribution pour ce script j'ai rajouté la possibilité de télécharger l'émission"En aparté" qui passe le samedi. Voici le script de mon fichier modifié :
#!/bin/sh
#
# CanalM Easy Version 1.0 Fr (17 mai 2006)
#
# Petit script pour télécharger des émissions de Canal+ et France 2 :
#
# - Journaux télévisés de 8, 13 et 20 heures
#
# - Les Guignols
# - Le Zapping
# - 7 Jours au Groland
# - La Minute Blonde
# - La Boite à Questions
# - L'Anniversaire
# - Le Vrai Journal
# - Nous Ne Sommes Pas Des Anges
# - Vendredi Pétantes
# - Samedi Pétantes
# - Le Grand Journal
# - Germain fait sa télé
# - En aparté
# Par Maxfox
# maxfox (tout attaché) 777 chez hot mail.fr
# Par Pabix
# mortgat chez gmail point com
#
# Dépendances : mimms & zenity
# Fonctionnel sur Ubuntu
#
# Encoding UTF-8
# Licence : GNU GPL
# Copyright (C) (Owner)
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# définitions des variables
dossier=$HOME/Desktop
racineF2='mms://sdmc.contents.edgestreams.net/horsgv/regions/siege/infos/f2'
racineCP='mms://vipmms.canalplus.fr/canalplus'
lecteur=mplayer
# Définitions des fonctions de récupération des vidéos :
# * play_program : jouer directement : ajout à la liste de lecture
# * get_program : télécharger dans le dossier
function play_program(){
${lecteur} "${2}${datec}${3}"
}
function get_program(){
( mimms -o "${dossier}/${1} ${datec}.wmv" "${2}${datec}${3}" | zenity --progress --title="Téléchargement" --text="L'émission « ${4} » est en cours de téléchargement..." --pulsate --auto-close
#Vérification que le fichier n'est pas vide
if (file "${dossier}/${1} ${datec}.wmv" | grep empty$ ) ; then
zenity --error --title="Erreur" --text="Impossible de télécharger « ${4} », vérifiez la disponibilité"
rm "${dossier}/${1} ${datec}.wmv"
fi
)&
}
# Choix de la méthode
methode=`zenity --title "Méthode ?" --text "Que souhaitez-vous faire ?" --list --column="Choisissez" "Télécharger" "Jouer directement"`
# Clic sur « Annuler » ou absence de choix
if [ "$?" != 0 ] || [ ! "$methode" ]; then
exit
fi
# Traitement de la méthode
fonc="get_program"
if [ "$methode" == "Jouer directement" ]; then
fonc="play_program"
fi
# Vérifier que mimms est bien présent
if [ "$fonc" == "get_program" ] ; then
mimms_path=`which mimms`
if [ ! "$mimms_path" ] || [ ! -x "$mimms_path" ] ; then
zenity --error --title="erreur" --text="Impossible de trouver l'executable « mimms ». Veuillez installer le paquet mimms et vérifier que vous avez les droits en exécution. Le téléchargement de votre émission est impossible, elle sera visionnée directement."
fonc="play_program";
fi
fi
# Choisir l'émission à télécharger
title="Choix de l'émission"
text="Choisissez dans la liste, en tenant compte des jours de diffusion."
emission=`zenity --title "$title" --width=500 --height=500 --text "$text" --list --column="Emissions" --column "Chaîne" --column "Diffusion" "20 heures" "France 2" "Tous les jours" "13 heures" "France 2" "Tous les jours" "8 heures" "France 2" "du lundi au vendredi" "Le Grand Journal" "Canal +" "du Lundi au Jeudi" "Les Guignols" "Canal +" "du Lundi au Vendredi" "Le Zapping" "Canal +" "du Lundi au Vendredi" "7 Jours au Groland" "Canal +" "le Samedi" "La Minute Blonde" "Canal +" "du Lundi au Jeudi" "La Boite à Questions" "Canal +" "du Lundi au Jeudi" "L'Anniversaire" "Canal +" "du Lundi au Jeudi" "Le Vrai Journal" "Canal +" "le Dimanche" "Nous Ne Sommes Pas Des Anges" "Canal +" "du Lundi au Vendredi" "Vendredi Pétantes" "Canal +" "le Vendredi" "Samedi Pétantes" "Canal +" "le Samedi" "Germain fait sa télé" "Canal +" "le Samedi" "Le petit journal" "Canal +" "du Lundi au Jeudi" "En aparte" "Canal +" "le Samedi"`
# Si l'utilisateur clique sur annuler
if [ "$?" != 0 ] ; then
exit
fi
# Si l'utilisateur n'a rien sélectionné
emission=`echo $emission | sed 's/ max//g'`
if [ ! "$emission" ]; then
zenity --error --title="erreur" --text="Vous devez faire un choix avant de valider"
exit
fi
# Choisir la date de l'émission à télécharger
datec=`zenity --title="Choisissez la date" --text="En cas d'erreur, vérifiez que l'émission a bien eu lieu." --calendar --date-format='%y%m%d' `
# Si l'utilisateur clique sur annuler
if [ "$?" != 0 ] ; then
exit
fi
# Si téléchargement : choix du dossier
if [ "$fonc" == "get_program" ] ; then
dossier=`zenity --title="Choix du dossier" --width=500 --text="Dans quel dossier souhaitez-vous télécharger votre film ?" --entry --entry-text="$dossier"`
fi
dossier=`echo $dossier | sed "s/\/$//g"` # suppression du dernier slash
# Si erreur sur le dossier
if [ ! -w "$dossier" ] ; then
dossier=$HOME
zenity --warning --title="erreur" --width=500 --text="Le dossier spécifié n'existe pas ou ne possède pas les droits en écriture. Le téléchargement se fera dans $dossier."
fi
################# Télécharger l'émission choisie ###################
# Descriptions des arguments :
# 1er argument : nom du fichier si la fonction est get_program
# 2e argument : partie de l'URL précédant la date
# 3e argument : partie de l'URL suivant la date
# 4e argument : titre à afficher dans la boîte de dialogue si la fonction est play_program
# "20H".
if [ "$emission" == "20 heures" ]; then
${fonc} '20 heures' "${racineF2}/20h/HD_20h_20" '.wmv?WMCache=1&WMBitRate=280000' 'Journal de vingt heures'
fi
# "13H".
if [ "$emission" == "13 heures" ]; then
${fonc} '13 heures' "${racineF2}/13h/HD_13h_20" '.wmv?WMCache=1&WMBitRate=280000' 'Journal de treize heures'
fi
# "8H".
if [ "$emission" == "8 heures" ]; then
${fonc} '8 heures' "${racineF2}/8h/HD_8h_20" '.wmv?WMCache=1&WMBitRate=280000' 'Journal de huit heures'
fi
# "Les Guignols".
if [ "$emission" == "Les Guignols" ]; then
${fonc} 'Les guignols' "${racineCP}/guignols_" '_a.wmv' "Les guignols de l'information"
fi
# "Le Zapping".
if [ "$emission" == "Le Zapping" ]; then
${fonc} 'Le zapping' "${racineCP}/zapping_" '_a.wmv' 'Le zapping'
fi
# "7 Jours au Groland".
if [ "$emission" == "7 Jours au Groland" ]; then
${fonc} '7 jours au Groland (1)' "${racineCP}/groland_" '_a.wmv' '7 jours au Groland (partie 1)'
${fonc} '7 jours au Groland (2)' "${racineCP}/groland_" '_b.wmv' '7 jours au Groland (partie 2)'
fi
# "La Minute Blonde".
if [ "$emission" == "La Minute Blonde" ]; then
${fonc} 'La minute blonde' "${racineCP}/minute_" '_a.wmv' 'La minute blonde'
fi
# "La Boite à Questions".
if [ "$emission" == "La Boite à Questions" ]; then
${fonc} 'La Boîte à Questions' "${racineCP}/questions_" '_a.wmv' 'La Boîte à Questions'
fi
# "L'Anniversaire".
if [ "$emission" == "L'Anniversaire" ]; then
${fonc} 'Anniversaire' "${racineCP}/anniversaire_" '_a.wmv' "L'anniversaire"
fi
# "Le Vrai Journal".
if [ "$emission" == "Le Vrai Journal" ]; then
${fonc} 'Le Vrai Journal (1)' "${racineCP}/vraijournal_" '_a.wmv' 'Le vrai journal (partie 1)'
${fonc} 'Le Vrai Journal (2)' "${racineCP}/vraijournal_" '_b.wmv' 'Le vrai journal (partie 2)'
fi
# "Nous ne Sommes Pas des Anges".
if [ "$emission" == "Nous Ne Sommes Pas Des Anges" ]; then
${fonc} 'Nous ne sommes pas des anges (1)' "${racineCP}/nousnesommes_" '_a.wmv' 'Nous ne sommes pas des anges (partie 1)'
${fonc} 'Nous ne sommes pas des anges (2)' "${racineCP}/nousnesommes_" '_b.wmv' 'Nous ne sommes pas des anges (partie 2)'
fi
# "Vendredi Pétantes".
if [ "$emission" == "Vendredi Pétantes" ]; then
${fonc} 'Vendredi pétantes (1)' "${racineCP}/vendredi-petantes_" '_a.wmv' 'Vendredi pétantes (partie 1)'
${fonc} 'Vendredi pétantes (2)' "${racineCP}/vendredi-petantes_" '_b.wmv' 'Vendredi pétantes (partie 2)'
${fonc} 'Vendredi pétantes (3)' "${racineCP}/vendredi-petantes_" '_c.wmv' 'Vendredi pétantes (partie 3)'
${fonc} 'Vendredi pétantes (4)' "${racineCP}/vendredi-petantes_" '_d.wmv' 'Vendredi pétantes (partie 4)'
fi
# "Samedi Pétantes".
if [ "$emission" == "Samedi Pétantes" ]; then
${fonc} 'Samedi Pétantes (1)' "${racineCP}/samedi-petantes_" '_a.wmv' 'Samedi Pétantes (partie 1)'
${fonc} 'Samedi Pétantes (2)' "${racineCP}/samedi-petantes_" '_b.wmv' 'Samedi Pétantes (partie 2)'
${fonc} 'Samedi Pétantes (3)' "${racineCP}/samedi-petantes_" '_c.wmv' 'Samedi Pétantes (partie 3)'
fi
# "Le Grand Journal".
if [ "$emission" == "Le Grand Journal" ]; then
${fonc} 'Le Grand Journal (1)' "${racineCP}/grandjournal_" '_a.wmv' 'Le Grand Journal (partie 1)'
${fonc} 'Le Grand Journal (2)' "${racineCP}/grandjournal_" '_b.wmv' 'Le Grand Journal (partie 2)'
${fonc} 'Le Grand Journal (3)' "${racineCP}/grandjournal_" '_c.wmv' 'Le Grand Journal (partie 3)'
${fonc} 'Le Grand Journal (4)' "${racineCP}/grandjournal_" '_d.wmv' 'Le Grand Journal (partie 4)'
fi
# "Le petit journal"
if [ "$emission" == "Le petit journal" ]; then
${fonc} 'Le Petit Journal' "${racineCP}/petitjournal_" '_a.wmv' 'Le Petit Journal '
fi
# "Germain fait sa télé"
if [ "$emission" == "Germain fait sa télé" ]; then
${fonc} 'Germain fait sa télé)' "${racineCP}/germain_" '_a.wmv' 'Germain fait sa télé'
fi
# "En aparte"
if [ "$emission" == "En aparte" ]; then
${fonc} 'En aparte(1)' "${racineCP}/enaparte_" '_a.wmv' 'En aparte (partie 1)'
${fonc} 'En aparte(2)' "${racineCP}/enaparte_" '_b.wmv' 'En aparte (partie 2)'
fi
##################
Dernière modification par fsail (Le 29/05/2006, à 21:57)
Hors ligne
#23 Le 30/05/2006, à 19:35
- uzo
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Excellent!
Merci et bravo!
Hors ligne
#24 Le 03/06/2006, à 12:29
- hells_dark
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
Dites, je cdapte pas grand chose au site televidilo.
C'est censé être quoi exactement televidilo ? Edit : j'ai vu, je vais utiliser le script..plus souple
Sinon, le script est super bien foutu. Ca aurait été chouette en 100% graphique par contre.
Et ya pas mal de truc à actualiser...ya des trucs qui n'existent plus j'ai l'impression
Edit : en fait non:P.
Dernière modification par hells_dark (Le 05/06/2006, à 00:38)
"You caught me at a strange time in my life."
devianArt - site perso
Hors ligne
#25 Le 15/07/2006, à 20:26
- doohan
Re : Script téléchargeant ou faisant jouer à la volée des émissions TV
pour ceux qui veulent rendre ce script executable vous pouvais installer ce petit utilitaire tres pratique shc
sudo apt-get install shc
shc -f monfichier.sh
il ne vous reste plus qu'a cliqué sur le nouveau fichier.
un grand bravo à pabix, un tres bon script
Hors ligne