]> Sergey Matveev's repositories - paster.git/blobdiff - contrib/paster.zsh
Netstrings are simpler than bencode
[paster.git] / contrib / paster.zsh
index a4850d574ad47537d819555e540a4bcefc819c27..76f1464697ee567553b46c09e2dd64ebdfa1a408 100755 (executable)
@@ -3,16 +3,17 @@
 set -e
 
 DST=${DST:-paster.example.com 2020}
+ext="0:,"
 [[ -s "$1" ]] && {
     src="$1"
     bn=$src:t
     e=${bn##*.}
-    [[ $bn = $e ]] || ext="1:e${#e}:$e"
+    [[ $bn = $e ]] || ext="${#e}:$e,"
 } || {
     src=`mktemp`
     trap "rm -f $src" HUP PIPE INT QUIT TERM EXIT
     cat > $src
-    [[ $# -eq 0 ]] || ext="1:e${#1}:$1"
+    [[ $# -eq 0 ]] || ext="${#1}:$1,"
 }
 zmodload -F zsh/stat b:zstat
 size=`zstat +size $src`
@@ -20,6 +21,6 @@ size=`zstat +size $src`
 zmodload zsh/net/tcp
 ztcp ${=DST}
 fd=$REPLY
-( print -n "d${ext}1:v${size}:" ; cat $src ; print -n e ) >&$fd
+( print -n "${ext}${size}:" ; cat $src ; print -n , ) >&$fd
 cat <&$fd
 ztcp -c $fd