aboutsummaryrefslogtreecommitdiff
path: root/imgur
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-07-12 13:24:49 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-07-12 13:27:07 +0200
commit03d827e2fbc409ef97829f25b8eeca5204f81a3c (patch)
tree6099f0feb9adf3425fba87549b164043e18bd0c7 /imgur
parent45cddd072119c5abd7ec076cf28d51ee01f125b7 (diff)
downloadxutil-03d827e2fbc409ef97829f25b8eeca5204f81a3c.tar.gz
Re-organize files
Diffstat (limited to 'imgur')
-rw-r--r--imgur123
1 files changed, 0 insertions, 123 deletions
diff --git a/imgur b/imgur
deleted file mode 100644
index f459fc3..0000000
--- a/imgur
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/bin/sh
-
-# Imgur script by Bart Nagel <bart@tremby.net>
-# Improvements by Tino Sino <robottinosino@gmail.com>
-# Made POSIX-compliant by John Ankarström <john@ankarstrom.se>
-# Version 6 or more
-# I release this into the public domain. Do with it what you will.
-# The latest version can be found at https://github.com/tremby/imgur.sh
-
-# API Key provided by Bart;
-# replace with your own or specify yours as IMGUR_CLIENT_ID envionment variable
-# to avoid limits
-default_client_id=c9a6efb3d7932fd
-client_id="${IMGUR_CLIENT_ID:=$default_client_id}"
-
-# Function to output usage instructions
-usage() {
- echo "Usage: $(basename $0) [<filename|URL> [...]]" >&2
- echo
- echo "Upload images to imgur and output their new URLs to stdout. Each one's" >&2
- echo "delete page is output to stderr between the view URLs." >&2
- echo
- echo "A filename can be - to read from stdin. If no filename is given, stdin is read." >&2
- echo
- echo "If xsel, xclip, pbcopy, or clip is available," >&2
- echo "the URLs are put on the X selection or clipboard for easy pasting." >&2
-}
-
-# Function to upload a path
-# First argument should be a content spec understood by curl's -F option
-upload() {
- curl -s -H "Authorization: Client-ID $client_id" -H "Expect: " -F "image=$1" https://api.imgur.com/3/image.xml
- # 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.
-}
-
-# Check arguments
-if [ x"$1" = x"-h" -o x"$1" = x"--help" ]; then
- usage
- exit 0
-elif [ $# -eq 0 ]; then
- echo "No file specified; reading from stdin" >&2
- exec "$0" -
-fi
-
-# Check curl is available
-type curl 2>&1 >/dev/null || {
- echo "Couldn't find curl, which is required." >&2
- exit 17
-}
-
-clip=""
-errors=false
-
-# Loop through arguments
-while [ $# -gt 0 ]; do
- file="$1"
- shift
-
- # Upload the image
- case "$file"
- http://*|https://*)
- # URL -> imgur
- response=$(upload "$file") 2>/dev/null
- ;;
- *)
- # File -> imgur
- # Check file exists
- if [ x"$file" != x"-" -a ! -f "$file" ]; then
- echo "File '$file' doesn't exist; skipping" >&2
- errors=true
- continue
- fi
- response=$(upload "@$file") 2>/dev/null
- esac
-
- if [ $? -ne 0 ]; then
- echo "Upload failed" >&2
- errors=true
- continue
- elif echo "$response" | grep -q 'success="0"'; then
- echo "Error message from imgur:" >&2
- msg="${response##*<error>}"
- echo "${msg%%</error>*}" >&2
- errors=true
- continue
- fi
-
- # Parse the response and output our stuff
- url="${response##*<link>}"
- url="${url%%</link>*}"
- delete_hash="${response##*<deletehash>}"
- delete_hash="${delete_hash%%</deletehash>*}"
- echo $url | sed 's/^http:/https:/'
- echo "Delete page: https://imgur.com/delete/$delete_hash" >&2
-
- # Append the URL to a string so we can put them all on the clipboard later
- clip+="$url"
- if [ $# -gt 0 ]; then
- clip+=$'\n'
- fi
-done
-
-# Put the URLs on the clipboard if we can
-if type pbcopy 2>&1 >/dev/null; then
- echo -n "$clip" | pbcopy
-elif type clip 2>&1 >/dev/null; then
- echo -n "$clip" | clip
-elif [ $DISPLAY ]; then
- if type xsel 2>&1 >/dev/null; then
- echo -n "$clip" | xsel -i
- elif type xclip 2>&1 >/dev/null; then
- echo -n "$clip" | xclip
- else
- echo "Haven't copied to the clipboard: no xsel or xclip" >&2
- fi
-else
- echo "Haven't copied to the clipboard: no \$DISPLAY or pbcopy or clip" >&2
-fi
-
-if $errors; then
- exit 1
-fi