pmd a écritSalut,
Voici un script que j'ai fait il y a un moment, et aujourd'hui je me suis dit que ça pouvais être cool de partager. Un petit script écrit en bash pour envoyer facilement une image vers pix.nofrag (par simple click droit, ou par une ligne de commande en console)
Exemples :
[url]http://pix.nofrag.com/0/6/e/c23a8990c04f0f1f19ae5748faa60t.jpg[/url]
[url]http://pix.nofrag.com/d/5/d/7d58a4032fe1528a3dda734e37805t.jpg[/url]
[url]http://pix.nofrag.com/7/0/e/99779d322021bd22f6487b2ff3a29t.jpg[/url]
Les dépendances
Tout d'abord il faut vérifier que vous avez bien les paquets
zenity et
curl :
sudo apt-get install zenity
sudo apt-get install curl
Le script
Créez ensuite un dossier pour ranger le script, et un fichier vierge pour y mettre le script en question
mkdir .script_pmd && gedit .script_pmd/pix.sh
dans lequel vous collez le code ci dessous :
#!/bin/bash
# Nom : pix.sh
# But : Envoyer facilement des images sur pix.nofrag.
# By pmd
# Configuration
FICHIER=$1
MIMETYPE=$(file -bi "$1")
URL=pix.nofrag.com
MAX_TAILLE_FICHIER=2000000 #2Mo (fixé par pix.nofrag)
# Verifier le fichier avant envoi
TAILLE_FICHIER=$(stat -c%s "$FICHIER")
if [ $TAILLE_FICHIER -gt $MAX_TAILLE_FICHIER ]; then
{
echo "Erreur, le fichier $FICHIER est trop lourd ($TAILLE_FICHIER octets pour une limite de $MAX_TAILLE_FICHIER maximum)."
zenity --warning --text="Erreur, le fichier $FICHIER est trop lourd ($TAILLE_FICHIER octets pour une limite de $MAX_TAILLE_FICHIER maximum)."
exit 1
}
fi
# Envoyer le fichier, et enregistrer la page résultat
TEMPFILE=$(tempfile)
curl $URL -F monimage=@"$FICHIER" -F submit=Upload -H "Expect:" -o $TEMPFILE --progress-bar | zenity --progress --pulsate --auto-close --text="Envoi de <i>$1</i> vers $URL ..."
# Analyser la page pour extraire les donnees
VIEWPAGE=$(grep -oEm 1 '\[url\=([^]]*)' $TEMPFILE | sed 's/\[url\=//')
IMAGE_BIG=$(grep -oEm 1 '\[img\]([^[]*)' $TEMPFILE | sed 's/\[img\]//')
NB_IMG=$(grep -c '\[img\]' $TEMPFILE)
if [ "$NB_IMG" -eq "1" ]; then # Si ya pas besoin de miniature
{
IMAGE_MINI=$IMAGE_BIG
}
elif [ "$NB_IMG" -ge "2" ] || [ "$NB_IMG" -le "3" ]; then # Si ya besoin de miniature
{
IMAGE_MINI=$(echo $VIEWPAGE | sed 's/\.html//')"t.jpg"
}
else
{
echo "La disposition de présentation du code à changé dans pix.nofrag."
zenity --warning --text="La disposition de présentation du code à changé dans pix.nofrag."
exit 2
}
fi
rm $TEMPFILE
# Resultat de l'upload : le code a placer dans un forum
BBCODE="[url=$VIEWPAGE][url]$IMAGE_MINI[/url][/url]"
ZCODE="<lien url=\"$VIEWPAGE\"><image>$IMAGE_MINI</image></lien>"
# ="<lien url="$VIEWPAGE"><image>$IMAGE_MINI</image></lien>"
# On affiche
echo "Lien : $VIEWPAGE"
zenity --info --text="
<b>Fichier :</b> $1
<b>Type :</b> $MIMETYPE
<b>Lien :</b>\n<i><small>$VIEWPAGE</small></i>
<b>Image :</b>\n<i><small>$IMAGE_BIG</small></i>
<b>Miniature :</b>\n<i><small>$IMAGE_MINI</small></i>
<b>BBCode :</b>\n<i><small>$BBCODE</small></i>
<b>ZCode :</b>\n<i><small>$ZCODE</small></i>"
Cliquez sur
enregistrer et fermez gedit.
Fonctionnement en console
Il suffit de lancer le script avec le nom de l'image en argument : sh ~/.script_pmd/pix.sh Pictures/image.jpg
Exemple :
pmd@polonux:~$ sh ~/.script_pmd/pix.sh 59238.jpg
######################################################################## 100,0%
Lien : http://pix.nofrag.com/f/5/b/5ebf11b23b1dc399d8fa4bdfddcea.html
(une
boite de dialogue vous donne tous les liens utiles)
Intégration du script au clic droit
Sous Xubuntu (XFCE et thunar) :
* à‰diter >> Configuration des actions personnalisées
* Bouton Nouveau (icà´ne +)
* Nom : Envoyer vers pix.nofrag
Description : ce que vous voulez
Commande : sh /chemin/du/script/pix.sh %f
* Dans l'onglet "Condition d'apparition", cochez "Images".
* On valide tout, et hop clic droit sur une image, envoyer vers pix, et on attend 🙂
Sous Ubuntu (Gnome et Nautilus) :
Mettre le fichier dans le dossier nautilus-scripts (et supprimer le dossier .scripts_pmd qui ne vous sert plus) et allez dans ce dossier avec nautilus :
mv ~/.script_pmd/pix.sh ~/.gnome2/nautilus-scripts && rm -r scripts_pmd && nautilus ~/.gnome2/nautilus-scripts
faites clic droit sur le script > propriété > permissions > cocher "Autoriser l'exécution du fichier comme un programme"
Lorsque vous faites click droit sur une image vous pouvez choisir "scripts > pix.sh" et la photo sera automatiquement envoyée. Vous n'avez plus qu'a faire un copier-coller de la chaà®ne souhaitée (BBcode, lien direct, etc ...) 😃
Have fun !