]> Sergey Matveev's repositories - paster.git/blobdiff - contrib/paster
Tiny refactor
[paster.git] / contrib / paster
index 99c7365652b3664f5c2c28f2757d16a60c853333..64f8c79aee9dc2617c17b3b8611525b8ab05bcb9 100755 (executable)
@@ -1,8 +1,15 @@
 #!/bin/sh -e
-CMD=${CMD:-nc paster.example.com 2020}
-tmp=`mktemp`
-trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
-cat > $tmp
-size=`perl -e 'print -s $ARGV[0]' $tmp`
-[ $# -eq 0 ] || ext="1:e${#1}:$1"
-( printf "d${ext}1:v${size}:" ; cat $tmp ; printf "e" ) | $CMD
+DST=${DST:-nc paster.example.com 2020}
+if [ -s "$1" ]; then
+    src="$1"
+    bn="${1##*/}"
+    _ext="${bn##*.}"
+    [ "$bn" = "$_ext" ] || ext="1:e${#_ext}:$_ext"
+else
+    src=`mktemp`
+    trap "rm -f $src" HUP PIPE INT QUIT TERM EXIT
+    cat > $src
+    [ $# -eq 0 ] || ext="1:e${#1}:$1"
+fi
+size=`perl -e 'print -s $ARGV[0]' $src`
+( echo -n "d${ext}1:v${size}:" ; cat $src ; echo -n e ) | $DST