1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-05-18 01:53:22 -07:00
rc/sh/sc

72 lines
1.6 KiB
Plaintext
Raw Normal View History

2015-04-01 22:26:37 -07:00
#!/usr/bin/env bash
2021-09-23 06:48:05 -07:00
# NO_ZSH
# YES_BASH
# NO_DASH
# NO_ASH
2021-07-29 00:37:35 -07:00
2015-04-01 22:26:37 -07:00
sc_shorten() {
REPLY="${1:2:2}${1:5:2}${1:8:2}${1:11:12}"
}
# http://stackoverflow.com/a/10797966
uri_encode() {
REPLY="$(echo -En "$@" | curl -Gso /dev/null -w %{url_effective} --data-urlencode @- "")"
REPLY="${REPLY:2}"
}
copy_scr() {
local fn="$1"
local short="$(basename $fn)"
local r='20\d\d-\d\d-\d\d_\d\d\d\d\d\d\d\d.(png|jpg)'
grep -Pq "$r" <<<"$short" || return 1
2021-09-23 06:48:05 -07:00
ea put "$fn" "$short"
2015-04-01 22:26:37 -07:00
sc_shorten "$short"
uri_encode "$REPLY"
2021-10-01 04:13:49 -07:00
REPLY="$EA_DOMAIN/s/$REPLY"
2015-04-01 22:26:37 -07:00
return 0
}
copy_tmp() {
local fn="$1"
local short="$(basename "$fn")"
2021-09-23 06:48:05 -07:00
ea put "$fn" "$short"
2015-04-01 22:26:37 -07:00
uri_encode "$short"
2021-10-01 04:13:49 -07:00
REPLY="$EA_DOMAIN/t/$REPLY"
2015-04-01 22:26:37 -07:00
return 0
}
2021-07-30 17:57:08 -07:00
sc() { ### @-
### upload given files to a webserver and return a direct link for sharing them.
### you'll want to tweak this if you use it yourself.
### this contains some extra logic for screenshots created by `scropt`.
###
### **TODO:** consider renaming because sc(1) already exists.
2015-04-01 22:26:37 -07:00
if [ -n "${ZSH_VERSION:-}" ]; then
# syntax is too different to bother tbh
echo "please run with bash"
return 1
fi
which xsel &>/dev/null || {
echo "please install xsel"
return 1
}
local clipboard="" f=
2015-04-01 22:26:37 -07:00
for f; do
f="$(readlink -f "$f")"
if [ ! -e "$f" ]; then
continue
fi
copy_scr "$f" || copy_tmp "$f"
clipboard="$clipboard"$'\n'"$REPLY"
done
xsel -b <<<"${clipboard:1}"
return 0
}
[ -n "${preload+-}" ] || . ~/sh/preload || exit 2
eval ${preload:-preload} ea
[ -n "${preload+-}" ] || sc "$@"