From ea6414aef8d5b3847076c45503bbe17f701b92a7 Mon Sep 17 00:00:00 2001 From: Morgan Wattiez Date: Mon, 2 Sep 2019 16:35:59 +0200 Subject: [PATCH] add alias for transfer.sh --- dot_zsh_functions | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/dot_zsh_functions b/dot_zsh_functions index b9cb22d..7308f74 100644 --- a/dot_zsh_functions +++ b/dot_zsh_functions @@ -127,4 +127,48 @@ function how_in() { function rate() { curl "http://rate.sx/$*" } +transfer() { + # check arguments + if [ $# -eq 0 ]; + then + echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md" + return 1 + fi + # get temporarily filename, output is written to this file show progress can be showed + tmpfile=$( mktemp -t transferXXX ) + + # upload stdin or file + file=$1 + + if tty -s; + then + basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g') + + if [ ! -e $file ]; + then + echo "File $file doesn't exists." + return 1 + fi + + if [ -d $file ]; + then + # zip directory and transfer + zipfile=$( mktemp -t transferXXX.zip ) + cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile + curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile + rm -f $zipfile + else + # transfer file + curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile + fi + else + # transfer pipe + curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile + fi + # cat output link + cat $tmpfile + + # cleanup + rm -f $tmpfile +}