mirror of
https://github.com/notwa/rc
synced 2024-11-14 13:59:02 -08:00
61 lines
1.2 KiB
Bash
Executable file
61 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
. ~/.ea
|
|
|
|
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
|
|
|
|
eaput "$fn" "$short"
|
|
sc_shorten "$short"
|
|
uri_encode "$REPLY"
|
|
REPLY="$_REMOTE_DOMAIN/s/$REPLY"
|
|
return 0
|
|
}
|
|
|
|
copy_tmp() {
|
|
local fn="$1"
|
|
local short="$(basename "$fn")"
|
|
|
|
eaput "$fn" "$short"
|
|
uri_encode "$short"
|
|
REPLY="$_REMOTE_DOMAIN/t/$REPLY"
|
|
return 0
|
|
}
|
|
|
|
sc() {
|
|
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=""
|
|
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
|
|
}
|
|
|
|
sc "$@"
|