tb-dotfiles/home/.zshrc.d/fup.sh

38 lines
808 B
Bash
Raw Normal View History

#!/bin/bash
# fup uploads a given file to file.io
fup() {
local -r FILE_PATH="${1}"
local -r EXPIRATION="${2}"
if ! [ -f "${FILE_PATH}" ]; then
echo 'provide a valid file path'
return 1
fi
local URL='https://file.io/'
if [ -n "${EXPIRATION}" ]; then
URL="${URL}?expires=${EXPIRATION}"
fi
local JSON_RETURN
if ! JSON_RETURN="$(curl -SsfLF "file=@${FILE_PATH}" "${URL}")"; then
echo 'Curl failed'
return 1
fi
if echo "${JSON_RETURN}" | grep -q '"success":false'; then
echo "${JSON_RETURN}"
return 2
fi
echo "https://file.io/$(echo "${JSON_RETURN}" | sed 's/.*key":"//' | sed 's/".*//')"
if echo "${JSON_RETURN}" | grep -q '"expiry":'; then
echo "Expires in $(echo "${JSON_RETURN}" | sed 's/.*expiry":"//' | sed 's/".*//')"
else
echo 'Expires in 14 days'
fi
return 0
}