From 07e2fc44ae3c96e40b97d539fafc7df12419d12d Mon Sep 17 00:00:00 2001 From: dlion Date: Mon, 10 Dec 2012 21:18:06 +0100 Subject: [PATCH] -Added imgur function to upload image into an imgur.com website, it print the url of the image. -Added tinyurl function to change long url in short url. --- plugins/available/base.plugin.bash | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/plugins/available/base.plugin.bash b/plugins/available/base.plugin.bash index e07401bc..1d2448c8 100644 --- a/plugins/available/base.plugin.bash +++ b/plugins/available/base.plugin.bash @@ -185,3 +185,29 @@ buf () local filetime=$(date +%Y%m%d_%H%M%S) cp ${filename} ${filename}_${filetime} } + +function imgur() +{ + apikey="b3625162d3418ac51a9ee805b1840452" + + response=$(curl -F "key=$apikey" -H "Expect: " -F "image=@$1" 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 "") -gt 0 ]; then + echo "Error message from imgur:" >&2 + echo $response | sed -r 's/.*(.*)<\/error_msg>.*/\1/' >&2 + exit 3 + fi + + # parse the response and output our stuff + url=$(echo $response | sed -r 's/.*(.*)<\/original_image>.*/\1/') + echo $(echo $url | grep "http://") +} + +function tinyurl() +{ + curl "http://tinyurl.com/api-create.php?url=$1" && echo +}