Blame


1 f1007ee0 2006-05-21 devnull #!/usr/local/plan9/bin/rc
2 f1007ee0 2006-05-21 devnull
3 f1007ee0 2006-05-21 devnull fn read9p {
4 f1007ee0 2006-05-21 devnull srv=$1; shift
5 f1007ee0 2006-05-21 devnull 9p read $srv >[2=1]|grep -v '^9p\:'
6 f1007ee0 2006-05-21 devnull }
7 f1007ee0 2006-05-21 devnull
8 f1007ee0 2006-05-21 devnull fn dir9p {
9 f1007ee0 2006-05-21 devnull srv=$1; shift
10 f1007ee0 2006-05-21 devnull 9p ls $srv >[2=1]|grep -v '^9p\:'
11 f1007ee0 2006-05-21 devnull }
12 f1007ee0 2006-05-21 devnull
13 f1007ee0 2006-05-21 devnull
14 f1007ee0 2006-05-21 devnull fn catmesg {
15 f1007ee0 2006-05-21 devnull # hold on for a second
16 f1007ee0 2006-05-21 devnull TMP=/tmp/$USER.`{date -n}; sleep 1
17 f1007ee0 2006-05-21 devnull msg=$1;
18 f1007ee0 2006-05-21 devnull read9p $msg/body >$TMP.body
19 f1007ee0 2006-05-21 devnull t=`{read9p $msg/type}
20 f1007ee0 2006-05-21 devnull switch($t){
21 f1007ee0 2006-05-21 devnull case text/html
22 f1007ee0 2006-05-21 devnull echo '
23 f1007ee0 2006-05-21 devnull ,x/<!--(-?[^\-]|--[^>]|\n)*-->/ c//
24 f1007ee0 2006-05-21 devnull ,x/<[^>]+>/d
25 f1007ee0 2006-05-21 devnull ,p
26 f1007ee0 2006-05-21 devnull u
27 f1007ee0 2006-05-21 devnull ,y/<[^>]+>/d
28 f1007ee0 2006-05-21 devnull ,p
29 f1007ee0 2006-05-21 devnull '| sam -d $TMP.body|[2] sed '1d;/^\?/d'
30 f1007ee0 2006-05-21 devnull case text/*
31 f1007ee0 2006-05-21 devnull cat $TMP.body
32 f1007ee0 2006-05-21 devnull case message/*
33 f1007ee0 2006-05-21 devnull cat $TMP.body
34 f1007ee0 2006-05-21 devnull case multipart/related
35 f1007ee0 2006-05-21 devnull if (~ `{read9p $msg/1/type} text/plain)
36 f1007ee0 2006-05-21 devnull catmesg $msg/1
37 f1007ee0 2006-05-21 devnull if not if (~ `{read9p $msg/2/type} text/plain)
38 f1007ee0 2006-05-21 devnull catmesg $msg/2
39 f1007ee0 2006-05-21 devnull if not {
40 f1007ee0 2006-05-21 devnull for (i in `{dir9p $msg|awk '$10 ~ /[0-9][0-9]*/ {print $10}'})
41 f1007ee0 2006-05-21 devnull catmesg $msg/$i
42 f1007ee0 2006-05-21 devnull }
43 f1007ee0 2006-05-21 devnull case *
44 f1007ee0 2006-05-21 devnull echo $t
45 f1007ee0 2006-05-21 devnull # should there be more?
46 f1007ee0 2006-05-21 devnull }
47 f1007ee0 2006-05-21 devnull rm -f $TMP.body
48 f1007ee0 2006-05-21 devnull }
49 f1007ee0 2006-05-21 devnull
50 f1007ee0 2006-05-21 devnull if (~ $#* 0)
51 f1007ee0 2006-05-21 devnull echo usage: msgcat mail/mbox/msgn && exit 1
52 f1007ee0 2006-05-21 devnull
53 f1007ee0 2006-05-21 devnull mesg=$1
54 f1007ee0 2006-05-21 devnull if (~ `{read9p $mesg/lines} '')
55 f1007ee0 2006-05-21 devnull echo no such message $mesg && exit 2
56 f1007ee0 2006-05-21 devnull
57 f1007ee0 2006-05-21 devnull
58 f1007ee0 2006-05-21 devnull read9p $mesg/unixheader; read9p $mesg/header
59 f1007ee0 2006-05-21 devnull echo
60 f1007ee0 2006-05-21 devnull catmesg $mesg
61 f1007ee0 2006-05-21 devnull echo