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