#0 -1 » [Script] Info IMDb » Le 15/05/2013, à 12:05
- Nanoseb
- Réponses : 2
Salut à tous,
J'ai fait un petit script pour récupérer les info venant de IMDb (et Wikipédia) de mes films, ce script a été fait pour s'utiliser en temps que "script click droit" dans nautilus et autre thunar, spacefm...
En le lançant il va afficher une fenêtre zenity avec le titre, le réalisateur, le synopsis, la durée, l'affiche du film...
Pour Nautilus il suffit de mettre le fichier dans ~/.local/share/nautilus/scripts (ou dans ~/.gnome2/nautilus-scripts pour les anciennes versions...) et de le rendre executable.
Pour thunar c'est dans éditer-> configurer les actions personnalisée qu'il faut aller chercher.
#!/bin/bash
# dépendances : libxml2-utils (pour xmllint), zenity, links et imagemagik (pour display)
# man :
# -i : affiche les info en gtk (besion de zenity)
# -v : affiche la bande annonce
# -c : affiche les info en console
browser="x-www-browser"
# fichiers temporaires supprimé en fin d'exécution :
imdbpage="$HOME/.imdbpage"
imdbimage="$HOME/.imdbimage"
# ordre de priorités :
premier=omdbapi
deuxieme=imdbapi
troisieme=wikipedia
#man :
if [ -z "$1" ]
then
echo "Utilisation :
-i [fichier|nom de film] : affiche les info en gtk (besion de zenity)
-c [fichier|nom de film] : affiche les info en console
-v [fichier|nom de film] : affiche la bande annonce dans $browser"
exit 1
fi
function Totxt ()
{
sed 's/\â/â/g
s/\à/à/g
s/\ç/ç/g
s/\é/é/g
s/\ê/ê/g
s/\è/è/g
s/\ï/œ/g
s/\\x{c3}\\x{a9}/é/g
s/\\x{c3}\\x{a8}/è/g
s/\\x{c3}\\x{a0}/à/g
s/\\x{c3}\\x{ae}/î/g
s/\\x{c3}\\x{a7}/ç/g
s/\\x{c3}\\x{aa}/ê/g
s/\\x{e2}\\x{80}\\x{99}/\`/g
s/\\x{c3}\\x{af}/ï/g'
}
function ToHtml ()
{
sed 's/à/a/g
s/â/a/g
s/ä/a/g
s/ç/c/g
s/è/e/g
s/é/e/g
s/ê/e/g
s/ë/e/g
s/î/i/g
s/ï/i/g
s/ù/u/g
s/ü/u/g
s/û/u/g
s/" "/"%20"/g'
}
imagedl () {
wget -qO- -O $imdbimage $1
if [ -e $imdbimage ]
then
display $imdbimage
rm "$imdbimage"
fi
}
imdbapi () {
wget -qO- -O $imdbpage "http://imdbapi.org/?title=$titre&type=xml&plot=full&episode=1&limit=1&yg=0&mt=none&lang=fr-FR&offset=&aka=simple&release=simple&business=0&tech=0"
image=$(xmllint --xpath "//IMDBDocumentList/item/poster/text()" "$imdbpage")
rating=$(xmllint --xpath "//IMDBDocumentList/item/rating/text()" "$imdbpage")
plot=$(xmllint --xpath "//IMDBDocumentList/item/plot/text()" "$imdbpage" | Totxt)
title=$(xmllint --xpath "//IMDBDocumentList/item/title/text()" "$imdbpage" | Totxt)
year=$(xmllint --xpath "//IMDBDocumentList/item/year/text()" "$imdbpage")
time=$(xmllint --xpath "//IMDBDocumentList/item/runtime/item/text()" "$imdbpage" | Totxt)
real=$(xmllint --xpath "//IMDBDocumentList/item/directors/item/text()" "$imdbpage" | Totxt)
type="IMDb 2"
rm $imdbpage
}
omdbapi () {
wget -qO- -O $imdbpage "http://www.omdbapi.com/?r=XML&plot=full&t=$titre"
image=$(xmllint --xpath "//root/movie/@poster" "$imdbpage" | awk -F"\"" '{print $2}')
rating=$(xmllint --xpath "//root/movie/@imdbRating" "$imdbpage" | awk -F"\"" '{print $2}')
plot=$(xmllint --xpath "//root/movie/@plot" "$imdbpage" | awk -F"\"" '{print $2}' | Totxt)
title=$(xmllint --xpath "//root/movie/@title" "$imdbpage" | awk -F"\"" '{print $2}' | Totxt)
year=$(xmllint --xpath "//root/movie/@year" "$imdbpage" | awk -F"\"" '{print $2}')
time=$(xmllint --xpath "//root/movie/@runtime" "$imdbpage" | awk -F"\"" '{print $2}' | Totxt)
real=$(xmllint --xpath "//root/movie/@director" "$imdbpage" | awk -F"\"" '{print $2}' | Totxt)
type="IMDb 1"
rm $imdbpage
}
wikipedia () {
wget -qO- -O $imdbpage "http://fr.wikipedia.org/w/api.php?format=xml&action=query&titles=$titre&prop=revisions&rvprop=content&redirects"
title=$(grep -m 1 "| titre" $imdbpage | awk -F"=" '{print $2 }')
time=$(grep "| durée" $imdbpage | awk -F"=" '{print $2 }')
year=$(grep "| sortie" $imdbpage | awk -F"= " '{print $2 }')
type="Wikipedia"
#image=$(grep "| image" $imdbpage | awk -F"=" '{print $2 }')
plot=$(grep -A 50 -E "\=\=.*Synopsis.*\=\=" $imdbpage | tr "\n$" " " | awk -F"==" '{print $3}' | sed 's/\[\[[^]]*|//g; s/\[\[//g; s/\]\]//g; s/\<ref\>.*\<\/ref\>.//g; s/\<ref.*\>//g; s/\ \ //g')
rating="42"
real=$(grep -m 1 "| réalisation" $imdbpage | awk -F"=" '{print $2 }' | sed 's/\[\[[^]]*|//g; s/\[\[//g; s/\]\]//g; s/\<.*\>.//g')
rm $imdbpage
}
# si que un argument on utilise zenity
if [ -z $2 ]
then
film=$1
arg="-i"
else
film=$2
arg=$1
fi
titre1=$(basename "$film" | sed 's/\.[^.]*$//' | sed 's/[\ _]/+/g' | ToHtml)
titre=$(links -dump "http://www.imdb.com/find?q=$titre1" | grep "\[IMG\]" | head -n 1 | awk -F"] " '{print $2}' | awk -F"\(" '{print $1}')
if [ -z "$titre" ]
then
titre=$titre1
fi
$premier
if [ -z "$title" ]
then
$deuxieme
if [ -z "$title" ]
then
$troisieme
if [ -z "$title" ]
then
if [ $arg = -c ]
then
echo Info manquante désolé...
else
notify-send "Info manquante" désolé...
fi
exit 1
fi
fi
fi
if [ $arg == "-i" ]
then
if [ -n "$image" ]
then
imagedl $image &
fi
echo -e "$title ($year) - $time \n de $real \n $rating/10 \n $plot" | zenity --text-info --title="$type info"
pkill display
else
if [ $arg == "-v" ]
then
recherche=$(echo $title site:http://www.youtube.com | sed s/" "/%20/g)
$browser "http://www.google.fr/search?q="$recherche"&btnI=Im+Feeling+Lucky"
else
if [ $arg == "-c" ]
then
echo -e "$title ($year) - $time \n de $real \n $rating/10 \n $plot"
fi
fi
fiAutre chose le script dépend de : libxml2-utils (pour xmllint), links, imagemagik (pour display) et zenity.
Il peut aussi s'exécuter en console avec le paramètre "-c", et permet aussi d'afficher la bande annonce du film sur youtube avec "-v".
Voilà, dites poi si vous avez des idées d'amélioration ou autre.
#1 Re : -1 » [Script] Info IMDb » Le 20/05/2013, à 18:46
- Nanoseb
- Réponses : 2
Merci pour ce retour :
- Alors pour le dossier je n'utilise plus nautilus et je doit avoir une ancienne version d'installé.
- Pour les noms, si tu as des fois l'année tu peux remplacer la ligne titre1=... par celle ci :
titre1=$(basename "$film" | sed 's/\.[^.]*$//' | sed 's/[\ _]/+/g' | sed 's/[12][0-9][0-9][0-9]/+/g' | ToHtml)
Mais après il ne faut pas que tu ais des noms de films contenant une année (après 1900).
Voilà j'espère que ça solutionnera ton problème.
#2 Re : -1 » A quoi ressemble votre environnement - Automne/Hiver 2012 » Le 02/03/2013, à 20:49
- Nanoseb
- Réponses : 360
#3 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 07/05/2012, à 23:02
- Nanoseb
- Réponses : 1689
Très bonne idée ce script
je me suis permis de modifier pour ne pas avoir a faire deux cp :
copier(){ while (( $# )); do echo "$(pwd)/${1}" >> /tmp/copie; shift; done; }
couper(){ while (( $# )); do echo "$(pwd)/${1}" >> /tmp/couper; shift; done; }
coller () {
if [ -f "/tmp/copie" ]
then
cat /tmp/copie | while read i
do
cp -a "$i" $(pwd)
done
rm /tmp/copie
fi
if [ -f "/tmp/couper" ]
then
cat /tmp/couper | while read i
do
mv -i "$i" $(pwd)
done
rm /tmp/couper
fi
}Voilà si tu vois des améliorations je suis preneur.
#4 Re : -1 » [Script] Traducteur textuel en GUI et/ou CLI avec google translate » Le 20/08/2012, à 15:43
- Nanoseb
- Réponses : 33
Salut
Tout d'abord félicitation pour ton script il fonctionne a merveille et est très utile.
Ensuite je me suis permis de faire un tout petit script zenity pour avoir quelque chose de totalement graphique qui est utile lorsque l'on cherche un mot ou une phrase à traduire :
#! /bin/bash
list="fr français en anglais de allemand es espagnol it italien ru russe"
listlong="en anglais ar arabe hy arménien az azéri eu basque bn bengali be biélorusse bg bulgare ca catalan zh-CN chinois ko coréen ht créole_haïtien hr croate da danois es espagnol eo espéranto et estonien fi finnois fr français gl galicien cy gallois ka géorgien el grec gu gujarati iw hébreu hi hindi hu hongrois id indonésien ga irlandais is islandais it italien ja japonais kn kannada la latin lv letton lt lituanien mk macédonien ms malaisien mt maltais nl néerlandais no norvégien fa persan pl polonais pt portugais ro roumain ru russe sr serbe sk slovaque sl slovène sv suédois sw swahili tl tagalog ta tamul cs tchèque te telugu th thaï tr turc uk ukrainien ur urdu vi vietnamien yi yiddish"
from=$(zenity --title="Google traduction" --list --width=260 --height=290 --text="Choix de la langue de départ" --column="" --hide-header --hide-column=1 --column="Langues" auto "détection automatique" $list autre Autre)
if [ $from == "autre" ]
then
from=$(zenity --title="Google traduction" --list --width=260 --height=490 --text="Choix de la langue" --column="" --hide-header --hide-column=1 --column="Langues" $listlong)
fi
to=$(zenity --title="Google traduction" --list --width=260 --height=290 --text="Choix de la langue d'arrivé" --column="" --hide-header --hide-column=1 --column="Langues" $list autre Autre)
if [ $to == "autre" ]
then
to=$(zenity --title="Google traduction" --list --width=260 --height=490 --text="Choix de la langue" --column="" --hide-header --hide-column=1 --column="Langues" $listlong)
fi
text=$(zenity --title="Google traduction" --entry --width=260 --height=90 --text="Texte à traduire")
resultat=$(google_translate -f $from -t $to -w "$text")
echo $resultat | zenity --text-info --title "Google traduction"enfin j'ai remarqué qu'il était possible d'avoir la détection automatique de la langue en mettant auto dans la langue
voilà enjoy it
#5 Re : -1 » A quoi ressemble votre environnement - printemps/été 2012 » Le 06/05/2012, à 09:17
- Nanoseb
- Réponses : 401
#6 Re : -1 » A quoi ressemble votre environnement - printemps/été 2012 » Le 07/05/2012, à 19:39
- Nanoseb
- Réponses : 401
Je remarque un truc, où on est vraiment tous pareil, y'en a pas un seul qui met un sale icône sur son bureau pour pas gâcher son fond d'écran
C'est surtout que perso, ça ne me servirait à rien, j'ai tout mes logiciels les plus utilisé avec des raccourcis clavier, ceux que j'utilise un peut moins ont une entrée dans mon menu openbox et les autres -> gmrun
Et puis en plus comme tu le dit très bien c'est pas ce qu'il y a de plus esthétique des icones de partout ^^
#7 Re : -1 » A quoi ressemble votre environnement - printemps/été 2012 » Le 18/05/2012, à 18:14
- Nanoseb
- Réponses : 401
#8 Re : -1 » A quoi ressemble votre environnement - printemps/été 2012 » Le 28/06/2012, à 14:24
- Nanoseb
- Réponses : 401
#9 Re : -1 » A quoi ressemble votre environnement - printemps/été 2012 » Le 26/08/2012, à 22:56
- Nanoseb
- Réponses : 401
#10 Re : -1 » A quoi ressemble votre environnement - printemps/été 2012 » Le 27/08/2012, à 17:40
- Nanoseb
- Réponses : 401
@ léo7 : merci ^^, pour le conky je trouvais que ça n'allais pas trop avec le fond d'écran, l'effet "monospace vs calligraphie" est plus remarquable maintenant, et puis ça ma permit de me pencher sur la syntaxe lua (car il y en a aussi dans le second).
#11 Re : -1 » [Résolu] ls pour lister répertoire dans un fichier mis en forme » Le 26/05/2012, à 15:32
- Nanoseb
- Réponses : 3
Hello l'ami
pour la commande ls si tu ne connais pas les paramètres fait un
man lsle -R sert a rendre ls récursif (parcours aussi les sous dossiers)
le -s donne en plus la taille des fichiers (size) et le h est pour qu'il adapte l'unité à quelque chose de facilement lisible pas de 654840494654654065406540Ko ^^ (h pour humain)
Pour les dossiers regarde ceci le problème est sensiblement identique au tien
et enfin pour enlever les extensions à la fin de tes fichiers dans ta liste tu peut compléter la ligne de aduxas avec : awk -F"." '{print $1}' ce qui donne :
ls -R --group-directories-first | sed -r 's#\.:?/?##' | awk -F"." '{print $1}'Pour comprendre un peu ce que tu écris lis ceci
Cette ligne fonctionne mais il y a sans doute plus propre avec uniquement une commande sed.
#12 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 22/10/2011, à 19:05
- Nanoseb
- Réponses : 479
#13 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 22/10/2011, à 23:11
- Nanoseb
- Réponses : 479
Oui en effet il y a beaucoup de vert ces derniers temps ^^
Alors pour les précision, le thème est lime night.
Le conky est celui ci (j'ai juste rajouter la température, clémentine et deux trois autres trucs), le panel est tint2 et le fond d'écran vient de submicron qui fait vraiment des truc géniaux.
#14 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 20/12/2011, à 20:02
- Nanoseb
- Réponses : 479
#15 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 20/12/2011, à 21:23
- Nanoseb
- Réponses : 479
Il y en a encore un peu quand même ![]()
#16 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 10/02/2012, à 23:06
- Nanoseb
- Réponses : 479
@ Leo 7 : beau bureau félicitation et juste comment s'appelle ta bar (en bas) ?
#17 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 25/02/2012, à 16:36
- Nanoseb
- Réponses : 479
#18 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 27/02/2012, à 00:55
#19 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 28/02/2012, à 14:29
- Nanoseb
- Réponses : 479
@ Aitas : biensur
alors le thème openbox est celui-ci
le gtk : celui-là
le panel est fbpanel, a gauche c'est un conky trouvé je ne sais plus où et modifié par mes soins et enfin le fond d'écran est de moi.
le PS1 :
PS1='${debian_chroot:+($debian_chroot)}\[\033[0;32m\] ┌────[\[\033[0;00m\]\u@\h\[\033[0;32m\]]──────────────────────────────────────────────────────────[\[\033[0;00m\]\t\[\033[0;32m\]]────┐ \n └───>\[\033[0;00m\] ${PWD} \$ 'Si tu veux les fichiers de configuration ils sont ici
#20 Re : -1 » A quoi ressemble votre environnement - automne/hiver 2011/2012 » Le 08/03/2012, à 14:49
- Nanoseb
- Réponses : 479
@ Adeval : Très belle adaptation ton Conky, je pense que je vais te piquer l'idée.
#21 Re : -1 » Programmer un lecteur audio » Le 23/10/2011, à 19:44
- Nanoseb
- Réponses : 7
Hello l'ami, je viens de voir ton post, alors ça avance ? tu en es où ?
#22 Re : -1 » A quoi ressemble votre environnement - printemps/été 2011 » Le 22/09/2011, à 22:44
- Nanoseb
- Réponses : 641
J'adore la montre binaire accroché au plafond ^^
#23 Re : -1 » Problème wifi avec AR9285 » Le 24/09/2011, à 16:32
- Nanoseb
- Réponses : 15
Toujours pas de solution ?

















