rpedit - rohrpost - A commandline mail client to change the world as we see it.
(HTM) git clone git://r-36.net/rohrpost
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
rpedit (877B)
---
1 #!/bin/sh
2
3 usage() {
4 printf "usage: %s [-h] [-m folder] id\n" "$(basename $1)" 2>&1
5 exit 1
6 }
7
8 folder=""
9
10 while getopts "hm:" opt;
11 do
12 case $opt in
13 m)
14 folder="$OPTARG"
15 ;;
16 *)
17 usage $0
18 ;;
19 esac
20 done
21 shift $(expr $OPTIND - 1)
22
23 if [ "$1" = "--" ];
24 then
25 shift 1
26 fi
27
28 if [ $# -lt 1 ];
29 then
30 usage $0
31 fi
32
33 if [ -z "$folder" ];
34 then
35 folder=$(rpsel)
36 fi
37
38 id=$(rpids -m $folder -- $* | awk -F' ' '{print $1}')
39 if [ -z "$id" ];
40 then
41 usage $0
42 fi
43
44 tmpfile=$(mktemp /tmp/rpedit.XXXXXXX.eml)
45 signalh() {
46 rm -f $tmpfile
47 }
48 trap 'signalh' 3 6 9 15
49
50 rpview -m $folder -r $id > $tmpfile
51 md5before=$(md5sum $tmpfile)
52 eval $EDITOR $tmpfile
53 md5after=$(md5sum $tmpfile)
54
55 if [ "$md5before" != "$md5after" ];
56 then
57 rprm -qm $folder $id
58 mid=$(rpadd -m $folder -f seen $tmpfile)
59 if [ $? -eq 0 ];
60 then
61 PAGER= rpscan -m $folder $mid
62 fi
63 else
64 echo "Nothing changed. Aborting."
65 fi
66
67 signalh
68