summaryrefslogtreecommitdiff
path: root/plugins/transfer
diff options
context:
space:
mode:
authorIlyes Kechidi <ilyes.spd@gmail.com>2017-02-09 02:28:33 +0100
committerIlyes Kechidi <ilyes.spd@gmail.com>2017-02-09 02:28:33 +0100
commit845fdfaae0a913143d1ff03220a1bf1596871225 (patch)
tree6e895621241db76bb91411aa79e7e7ddec1f1b3f /plugins/transfer
parent8013d3d8a933b6bae3ed9ceb37bebb42cf28ea56 (diff)
downloadzsh-845fdfaae0a913143d1ff03220a1bf1596871225.tar.gz
zsh-845fdfaae0a913143d1ff03220a1bf1596871225.tar.bz2
zsh-845fdfaae0a913143d1ff03220a1bf1596871225.zip
replaced transfer function with @nl5887 version
Diffstat (limited to 'plugins/transfer')
-rw-r--r--plugins/transfer/transfer.plugin.zsh62
1 files changed, 60 insertions, 2 deletions
diff --git a/plugins/transfer/transfer.plugin.zsh b/plugins/transfer/transfer.plugin.zsh
index 7d0d84bea..796faa9a2 100644
--- a/plugins/transfer/transfer.plugin.zsh
+++ b/plugins/transfer/transfer.plugin.zsh
@@ -2,6 +2,64 @@
# transfer Plugin
# Usage Example :
# > transfer file.txt
+# > transfer directory/
-transfer() { if [ $# -eq 0 ]; then echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
-tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; } \ No newline at end of file
+
+
+# Author:
+# Remco Verhoef <remco@dutchcoders.io>
+# https://gist.github.com/nl5887/a511f172d3fb3cd0e42d
+#
+
+curl --version 2>&1 > /dev/null
+if [ $? -ne 0 ]; then
+ echo "Could not find curl."
+ return 1
+fi
+
+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
+} \ No newline at end of file