Toute âme généreuse qui voudrait contribuer à rendre ce programme plus robuste, plus élégant, plus pratique, etc... est invitée à le faire ici même. Je suis preneur d'une traduction en python, vu que j'aimerais me mettre à ce langage.
#!/bin/sh
# On choppe le répertoire courant... depuis Nautilus, aucun problème
# sauf si vous êtes assez tordus pour faire des sélections sur plusieurs
# répertoires.
# Par contre si vous utilisez ce script dans un shell il prend le
# répertoire courant, donc ne vous amusez pas avec des invocations
# exotiques, ou réparez ça d'abord..
if [ "x$NAUTILUS_SCRIPT_CURRENT_URI" = "x" ]; then
workdir=$(pwd) #FIXME
else
workdir=$(echo $NAUTILUS_SCRIPT_CURRENT_URI| sed 's/file:\/\///g')
fi
res=$(zenity --list --title "$workdir" --height=200 --radiolist --column "" --column "Taille" TRUE 200x200 FALSE 150x150 FALSE 100x100)
[ "x$res" == "x" ] && exit
# On fait un répertoire pour les images redimensionnées
# Au final, on peut aussi les coller dans /tmp
mkdir -p $workdir/$res
# On bosse...
while [ $# -gt 0 ];
do
f=$1
file=$(echo $f | sed 's/"$NAUTILUS_SCRIPT_CURRENT_URI"//g')
# On place une copie redimensionnée de l'image dans le répertoire
convert $workdir/$file -scale $res $workdir/$res/$file
# On prépare la liste de fichiers à attacher
file=$(echo file://$workdir/$res/$file)
if [ "x$attachments" = "x" ]; then
attachments=$(echo $file)
else
attachments=$(echo $attachments, $file)
fi
shift
done
# On rajoute des quotes autour des arguments pour limiter certaines
# catastrophes...
attachments=$(echo \'$attachments\')
# On invoque le mailer avec les fichiers à attacher en argument
# Le bête mozilla-thunderbird -remote est buggé, d'où le chemin complet vers
# xremote-client
/usr/lib/mozilla-thunderbird/mozilla-thunderbird-xremote-client "xfeDoCommand(composeMessage,attachment=$attachments)"
# Malgré tout, le truc se vautre en beauté si les noms de fichier sont bizarres,
# comportent des espaces ou ce genre de chose.
# Le stripping est laissé en exercice au lecteur.
# C'est plus possible
Posté par spongurex . Évalué à 0.
Pour exemple ce journal :
redimensionner des fichiers word
Ou le LOGIN n° 121 (Octobre 2004) page 18 (en haut à droite) :
Les derniers documents Word que j'ai ouverts
S'il vous plait, un petit effort. C'est vraiment pas dur, Microsoft Word ne tourne pas nativement sur Linux...
[^] # Re: C'est plus possible
Posté par TImaniac (site web personnel) . Évalué à 1.
[^] # Re: C'est plus possible
Posté par spongurex . Évalué à -1.
[^] # Re: C'est plus possible
Posté par ckyl . Évalué à 4.
Un fichier texte ca se manipule avec cat, grep, awk, sed, perl, des pipes, des redirections de flux etc.
Ta solution est pire que le mal !
[^] # Re: C'est plus possible
Posté par tipmeabout . Évalué à -1.
Il suffit de dire un document texte, ou OpenOffice (qui lui tourne sous windows!).
Alors un effort !
[^] # Re: C'est plus possible
Posté par Ramso . Évalué à 6.
Les fichiers .doc sont bien des fichiers Word parce que nous savons ici que .doc est un mauvais format d'échange et qu'il devrait se cantonner à Word.
Si tu me prouves qu'il a parlé de fichier Word pour tout sauf du .doc, là je serai d'accord avec toi.
[^] # Woucha !
Posté par Polaris . Évalué à 4.
Je suis pour l'évangélisme, et j'aurais pû choisir un autre exemple, mais la rigidité de certains zélotes ne fait sûrement pas avancer les choses. Par exemple, j'ai pas lu le login dont tu parles, mais apparemment, en contexte, il ne s'agit pas de n'importe quel fichier de texte: il s'agit de fichiers au format microsoft word, type mime "application/ms-word", raccourci sémantique "Fichier Word". Appelons un chat, un chat, une pipe, une pipe, et un fichier word, un fichier word.
Alors, personne pour me le traduire en python ?
[^] # Re: Woucha !
Posté par Ramso . Évalué à 2.
# C'est moi l'âme égarée ...
Posté par LeVulcain . Évalué à 1.
Ce script prend toute sa puisance si on l'intègre à nautilus :
je cite ton commentaire dans le forum (pour ceux qui ne lirons que ce journal) :"(le) rendre éxécutable et (le) placer dans .gnome2/nautilus-scripts pour qu'il devienne accessible du clic droit" .
pour le contrôle des erreurs , peut-être pourrait-tu utiliser les codes d'erreur de convert ?
# Pour améliorer la portabilité
Posté par CoinKoin . Évalué à 3.
# Mailer
Posté par clos . Évalué à 1.
[^] # Re: Mailer
Posté par Polaris . Évalué à 1.
Mais la forme des fichiers attachés doit être un peu différente, il n'accepte pas les listes de fichiers séparées par une virgule, j'ai réussi à lui faire avaler une chaine avec la syntaxe:
donc dans la boucle il faut rajouter "&attachment=" au lieu de ",".
Pour le commentaire sur le mozilla-thunderbird-xremote-client en dur, effectivement, j'aurais bien voulu remplacer ça par un $(which mozilla-thunderbird-xremote-client), malheureusement /usr/lib n'est pas dans mon $PATH (et la plupart du temps, c'est comme ça, et à juste titre). À la limite on peut essayer avec un $(locate mozilla-thunderbird-xremote-client), mais sur ma machine ça renvoie deux lignes, et sur d'autres, pour peu que la base ne soit pas à jour, ça peut donner des résultats pittoresques.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.