Imgur image upload GUI script

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
stu90

Imgur image upload GUI script

#1 Post by stu90 »

Here is a Yad GUI script for uploading an image from your computer to imgur.com image hosting and generates links needed for easy cut and paste into forum posts etc.

Image

script (requires Yad) name it imgur and put it in PATH /usr/bin/ or /root/my-applications/bin/

Code: Select all

#!/bin/bash

###GUI for imgur script by Bart Nagel <bart@tremby.net>###
###upload local image to www.imgur.com image hosting service###
##Stu90###
#

  ### root password for user fido ###
  [ "`whoami`" != "root" ] && exec sudo -A ${0} ${@}


TEXT=" Select an image to upload to www.imgur.com "
NAME="Imgur upload"
VER="0.1"


GUI1=$(yad --title="$NAME $VER" --text="$TEXT" --form --field="Image:FL" --button="gtk-quit:1" --button="gtk-ok:0")

BUTTON=$?

   if [ "$GUI1" = "" ]; then
   echo "Exiting" && exit
   fi

case $BUTTON in
0)


GETIMG="`echo $GUI1 | cut -d '|' -f 1`"
echo "$GETIMG"

# API Key provided by Alan@imgur.com
apikey="b3625162d3418ac51a9ee805b1840452"

# upload the image
response=$(curl -F "key=$apikey" -H "Expect: " -F "image=@$GETIMG" \
        http://imgur.com/api/upload.xml 2>/dev/null)
# the "Expect: " header is to get around a problem when using this through the
# Squid proxy. Not sure if it's a Squid bug or what.
if [ $? -ne 0 ]; then
        echo "Upload failed" >&2
        exit 2
elif [ $(echo $response | grep -c "<error_msg>") -gt 0 ]; then
        echo "Error message from imgur:" >&2
        echo $response | sed -r 's/.*<error_msg>(.*)<\/error_msg>.*/\1/' >&2
        exit 3
fi

# parse the response and output our stuff
url=$(echo $response | sed -r 's/.*<original_image>(.*)<\/original_image>.*/\1/')
deleteurl=$(echo $response | sed -r 's/.*<delete_page>(.*)<\/delete_page>.*/\1/')
echo $url
echo "Delete page: $deleteurl" >&2

##thumb nail image##
url1="` echo $url |  cut -d "." -f -3 `"
format="` echo $url |  cut -d "." -f 4- `"
urlthumb="$url1"l."$format"


##imge links gui##
GUI2=$(yad --title="$NAME $VER" --text=" Cut and paste one of the image options from the boxes below " --form \
--field="Forum Thumb" "[IMG]$urlthumb[/IMG]" \
--field="Forum Full" "[IMG]$url[/IMG]" \
--field="Direct URL" "$url" \
--field="Delete page" "$deleteurl" \
--button="gtk-quit")

   if [ "$GUI2" = "" ]; then
   echo "Exiting" && exit
   fi

;;
   
1)
    echo "Quit selected - Exiting" && exit
;;
esac

User avatar
pemasu
Posts: 5474
Joined: Wed 08 Jul 2009, 12:26
Location: Finland

#2 Post by pemasu »

This one is real handy quick and clean pics uploader and url creator.
Really nice. Thank you. This one definitively earns DOTdesktop and place in menu also. :D

Post Reply