From 8e6db548ed59bd79ce37558e149d8ff021de9d95 Mon Sep 17 00:00:00 2001 From: SolitudeSF Date: Thu, 28 Feb 2019 23:34:36 +0200 Subject: [PATCH] Add imgur upload/delete scripts. Fix new bin locations. --- bin/edit-script | 2 +- bin/imgur | 21 +++++++++++++++++++++ bin/imgur-delete | 15 +++++++++++++++ elvish/lib/completers.elv | 2 +- 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100755 bin/imgur create mode 100755 bin/imgur-delete diff --git a/bin/edit-script b/bin/edit-script index 32692d3..dd3d0da 100755 --- a/bin/edit-script +++ b/bin/edit-script @@ -1,7 +1,7 @@ #!/bin/sh [ -z "$1" ] && return 1 || f=$(command -v "$1") if [ -z "$f" ]; then - f="$HOME/bin/$1" + f="$HOME/.local/bin/$1" $EDITOR "$f" [ -f "$f" ] && chmod +x "$f" else diff --git a/bin/imgur b/bin/imgur new file mode 100755 index 0000000..047d196 --- /dev/null +++ b/bin/imgur @@ -0,0 +1,21 @@ +#!/usr/bin/env elvish + +resp = [&] +id = (from-json <~/sns/imgur.json)[SolitudeAnon][id] +command = [-sLX POST 'https://api.imgur.com/3/image' --data-binary '@-' -H "Authorization: Client-ID "$id ] + +if (not-eq ?(tty -s) $ok) { + resp = (all | base64 | curl $@command | from-json) +} elif (> (count $args) 0) { + resp = (base64 $args[0] | curl $@command | from-json) +} else { + exit 1 +} + +if (and (has-key $resp success) (eq $resp[success] $true)) { + echo Uploaded to $resp[data][link] + echo Delete hash: $resp[data][deletehash] +} else { + echo Upload failed + exit 1 +} diff --git a/bin/imgur-delete b/bin/imgur-delete new file mode 100755 index 0000000..05143be --- /dev/null +++ b/bin/imgur-delete @@ -0,0 +1,15 @@ +#!/usr/bin/env elvish + +if (== (count $args) 0) { + echo Provide deletion hash + exit 1 +} + +id = (from-json <~/sns/imgur.json)[SolitudeAnon][id] +resp = (curl -sLX DELETE 'https://api.imgur.com/3/image/'$args[0] -H 'Authorization: Client-ID '$id | from-json) +if (and (has-key $resp success) (eq $resp[success] $true)) { + echo Image deleted +} else { + echo Failed to delete image + exit 1 +} diff --git a/elvish/lib/completers.elv b/elvish/lib/completers.elv index b07de73..872b473 100644 --- a/elvish/lib/completers.elv +++ b/elvish/lib/completers.elv @@ -228,7 +228,7 @@ edit:completion:arg-completer[brl] = [@cmd]{ } edit:completion:arg-completer[promotescript] = [@cmd]{ - pwd=~/bin put * + pwd=~/.local/bin fd -t f } edit:completion:arg-completer[edit-script] = $edit:complete-sudo~