#1 Le 24/06/2008, à 22:26
- ®om
[Script] Uploader une image sur imagup.com
Salut,
EDIT: Préférez un script complet : #6
Voici un petit script minimal, puisqu'il ne fait qu'une ligne, qui permet d'envoyer une image sur imagup en ligne de commande, et de récupérer l'url.
Par exemple :
$ imagup monimage.png
http://images.imagup.com/03/1214342069_monimage.png
Pratique pour poster des captures sur le forum.
Voici le script:
#!/bin/sh
curl www.imagup.com -F "fichier=@$1;filename=`echo $1 | grep -o "[^/]\+$"`;type=image/`echo $1 | grep -o "[^\.]\+$"`" 2>/dev/null | grep image-upload | grep -o "http://images.imagup.com/[^\.]\+\.\(png\|jpg\|jpeg\|gif\)"
Il faut donc avoir curl.
EDIT: nouvelle version suite à modification du site : #5
Pour l'installer, faites simplement :
wget http://myfreetv.free.fr/sh/imagup -O /tmp/imagup && chmod +x /tmp/imagup && sudo mv /tmp/imagup /usr/local/bin
Ou manuellement:
gksudo gedit /usr/bin/imagup
et copiez-y le code, puis sauver.
Ensuite :
sudo chmod +x /usr/bin/imagup
Améliorations éventuelles à faire :
ça ne marche pas avec des majuscules : capture.JPG
ça ne marche pas avec capture.JPG.jpg
Dernière modification par ®om (Le 29/08/2008, à 15:40)
Hors ligne
#2 Le 25/06/2008, à 13:07
- ®om
Re : [Script] Uploader une image sur imagup.com
Une petite capture vidéo pour montrer comment envoyer un screenshot :
imagup.mkv (à lire avec vlc par exemple)
Hors ligne
#3 Le 31/07/2008, à 17:53
- ®om
Re : [Script] Uploader une image sur imagup.com
Et pour accepter plusieurs arguments (envoyer plusieurs fichiers en une seule fois) :
#!/bin/sh
for arg
do
curl www.imagup.com -F "fichier=@$arg;filename=`echo $arg | grep -o "[^/]\+$"`;type=image/`echo $arg | grep -o "[^\.]\+$"`" 2>/dev/null | grep image-upload | grep -o "http://images.imagup.com/[^\.]\+\.\(png\|jpg\|jpeg\|gif\)"
done
Hors ligne
#4 Le 01/08/2008, à 14:37
- Phi
Re : [Script] Uploader une image sur imagup.com
Bonjour ! Je trouve ton script très intéressant mais je me pose une question : est-il possible de l'adapter à une utilisation plus "graphique" (comme les scripts que l'on dépose dans le dossier nautilus-scripts) ??
A bientôt !
Hors ligne
#5 Le 20/08/2008, à 23:01
- ®om
Re : [Script] Uploader une image sur imagup.com
Leur site a un peu changé, voici le nouveau script :
#!/bin/sh
for arg
do
curl www.imagup.com -F "fichier=@$arg;filename=`echo $arg | grep -o "[^/]\+$"`;type=image/`echo $arg | grep -o "[^\.]\+$"`" 2>/dev/null | grep image-upload | grep -o "http://uploads.imagup.com/[^\.]\+\.\(png\|jpg\|jpeg\|gif\)"
done
Pour le télécharger et l'installer :
wget http://myfreetv.free.fr/sh/imagup -O /tmp/imagup && chmod +x /tmp/imagup && sudo mv /tmp/imagup /usr/local/bin
Dernière modification par ®om (Le 20/08/2008, à 23:06)
Hors ligne
#6 Le 29/08/2008, à 15:39
- ®om
Re : [Script] Uploader une image sur imagup.com
Bon, voilà, j'ai pris un peu de temps, et j'ai écrit un vrai script :
imagup : Uploader rapidement une image
Hors ligne
#7 Le 29/08/2008, à 16:17
- Phi
Re : [Script] Uploader une image sur imagup.com
Merci d'avoir rendu ce script compatible avec Nautilus Je l'installerai dès que j'aurai un peu de temps et je ne manquerai pas de te faire un retour !
Merci.
Hors ligne
#8 Le 30/08/2008, à 10:18
- ®om
Re : [Script] Uploader une image sur imagup.com
J'ai remis le script à jour ce matin, pour contourner des problèmes de nautilus.
Pour fonctionner DANS TOUS LES CAS, un script nautilus doit être de la forme :
printf %s "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" |
while read -r arg
do
do_something "$arg"
done
ou alors :
IFS='
'
for arg in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
do_something "$arg"
done
En plus, une subtile différence en bash et sh (dash), et entre variable locale/globale m'a fait perdre pas mal de temps pour les fichiers contenant des espaces. Voyez plutôt :
en bash et en dash:
a=$(echo x y z); echo $a
x y z
Tout va bien.
Maintenant, utilisons une variable locale dans une fonction :
En bash :
$ f() { local a=$(echo x y z); echo $a; }; f
x y z
En dash :
$ f() { local a=$(echo x y z); echo $a; }; f
x
$ f() { local a="$(echo x y z)"; echo $a; }; f
x y z
$ f() { local a; a=$(echo x y z); echo $a; }; f
x y z
Dernière modification par ®om (Le 31/08/2008, à 17:55)
Hors ligne
#9 Le 30/08/2008, à 17:24
- AxelB
Re : [Script] Uploader une image sur imagup.com
Bon ben tout simplement un grand bravo et merci pour ce petit script carrément génial
Hors ligne
#10 Le 31/08/2008, à 11:48
- ®om
Re : [Script] Uploader une image sur imagup.com
Arf, y'a encore un petit problème dans le script, si un nom de fichier contient '\n' (un \ suivi d'un n) ça ne marche pas.
Je verrai ça plus tard.
Hors ligne
#11 Le 31/08/2008, à 11:55
- AxelB
Re : [Script] Uploader une image sur imagup.com
Ca reste un cas qui est loin d'être courant
Dernière modification par AxelB (Le 31/08/2008, à 11:55)
Hors ligne
#12 Le 31/08/2008, à 12:13
- ®om
Re : [Script] Uploader une image sur imagup.com
Voilà, c'est corrigé.
echo est à éviter dans les scripts, mieux vaut printf %s
Car en plus le echo de bash n'est pas le même que le echo de sh.
Dernière modification par ®om (Le 31/08/2008, à 12:19)
Hors ligne
#13 Le 31/08/2008, à 18:33
- ®om
Re : [Script] Uploader une image sur imagup.com
J'en ai profité pour rajouter une section les pièges à éviter dans la doc ubuntu-fr de nautilus-scripts, ça pourrait servir.
Hors ligne
#14 Le 03/09/2008, à 21:20
- ®om
Re : [Script] Uploader une image sur imagup.com
Encore une petite modif dans le script, qui uploadait bien l'image mais qui ne récupérait pas l'url s'il y avait un . dans le nom du fichier, par exemple : capture.thumb.png.
Hors ligne