-
-
Save amitaibu/e6b39fc608b69a353532 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Upload image(s) to imgur.com | |
# Copyright (C) 2014 Vivien Didelot <[email protected]> | |
# Licensed under GPL version 3, see http://www.gnu.org/licenses/gpl.txt | |
# | |
# Requires "jshon": | |
# http://kmkeen.com/jshon/ | |
# | |
# Alternatives, which suck: | |
# http://imgur.com/tools/imgurbash.sh | |
# https://raw.githubusercontent.com/JonApps/imgur-screenshot/master/imgur-screenshot.sh | |
# | |
# Usage: | |
# imgur <file>... | |
# Specify <file> as '-' for standard input. | |
# | |
# Examples: | |
# | |
# * Upload several images: | |
# imgur foo.png bar.png | |
# | |
# * Take a screenshot and upload it: | |
# import png:- | imgur - | |
# | |
# * Copy the url to clipboard: | |
# imgur <file> | xclip | |
# | |
# * Open the result in a web browser: | |
# imgur <file> | xargs firefox | |
# | |
# * Quick use (no installation): | |
# curl -s https://gist.githubusercontent.com/vivien/9768953/raw/imgur | sh -s <file> | |
# API key from [email protected], see imgurbash.sh | |
KEY=b3625162d3418ac51a9ee805b1840452 | |
die () { | |
echo "$1" >&2 | |
exit 1 | |
} | |
# Syntax check | |
[ $# -lt 1 ] && die "usage: imgur <file>... (use - for stdin)" | |
# Upload every file given as argument | |
for IMG in "$@" | |
do | |
# A more verbose version of `curl -s [...] | jshon -Q -e rsp -e image -e original_image -u` | |
RESP="`curl -sS -F key=$KEY -H 'Expect: ' -F "image=@$IMG" http://imgur.com/api/upload.json 2>&1`" | |
[ $? -ne 0 ] && die "$IMG: $RESP" | |
URL=`echo "$RESP" | jshon -Q -e rsp -e image -e original_image -u` | |
[ -z "$URL" ] && die "$IMG: `echo "$RESP" | jshon -e rsp -e image -e error_msg -u`" | |
echo $URL | |
done | |
# vim: et ts=2 sw=2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment