]> Sergey Matveev's repositories - paster.git/blob - contrib/paster.zsh
a4850d574ad47537d819555e540a4bcefc819c27
[paster.git] / contrib / paster.zsh
1 #!/usr/bin/env zsh
2
3 set -e
4
5 DST=${DST:-paster.example.com 2020}
6 [[ -s "$1" ]] && {
7     src="$1"
8     bn=$src:t
9     e=${bn##*.}
10     [[ $bn = $e ]] || ext="1:e${#e}:$e"
11 } || {
12     src=`mktemp`
13     trap "rm -f $src" HUP PIPE INT QUIT TERM EXIT
14     cat > $src
15     [[ $# -eq 0 ]] || ext="1:e${#1}:$1"
16 }
17 zmodload -F zsh/stat b:zstat
18 size=`zstat +size $src`
19
20 zmodload zsh/net/tcp
21 ztcp ${=DST}
22 fd=$REPLY
23 ( print -n "d${ext}1:v${size}:" ; cat $src ; print -n e ) >&$fd
24 cat <&$fd
25 ztcp -c $fd