]> pd.if.org Git - zpackage/blobdiff - zpm-note
added makefile for install
[zpackage] / zpm-note
index 2ca9a69a97bf1717788b9941ab8f474644fe7ca6..3ef442a758b9f5217913b18e64750c792c0a2411 100755 (executable)
--- a/zpm-note
+++ b/zpm-note
@@ -13,6 +13,8 @@
 SPOOL=/var/spool/admin/notes
 OPEN=$SPOOL/open
 
+set -e
+
 #umask 007
 
 cd $SPOOL || { echo "can't chdir to $SPOOL" ; exit 1; }
@@ -31,14 +33,39 @@ findnote() {
        echo $file
 }
 
+findopen() {
+       file=$(find $SPOOL/open -type f -name "$1")
+       if [ -z "$file" ] ; then
+               printf "no such open note $1\n"
+               exit 1
+       fi
+       echo $file
+}
+
 case $cmd in
        list)
-               find $SPOOL/open -type f -printf '%P\n'
+               case $1 in
+                       -a) find $SPOOL/ack -type f -printf '%P\n' | sort -n
+                               ;;
+                       *) find $SPOOL/open -type f -printf '%P\n' | sort -n
+                               ;;
+               esac
+               ;;
+       detail)
+               len=$(find $SPOOL/open -type f -printf "%P\n" | awk ' { if ( length > x ) { x = length } }END{ print x }')
+               find $SPOOL/open -type f -printf "%P\n" | sort -n | while read note ; do
+                       subject=$(head -1 $SPOOL/open/$note)    
+                       date=$(stat -c '%y' $SPOOL/open/$note | cut -f1 -d' ')
+                       printf '%*s %s %s\n' $len $note "$date" "$subject"
+               done
                ;;
        ack)
-               file=$(findnote $1)
-               mkdir -p $SPOOL/ack/$1
-               mv $SPOOL/open/$1/$2 $SPOOL/ack/$1/$2
+               file=$(findopen $1)
+               subfile=$(echo $file | sed -e "s|$SPOOL/open/||")
+               filedir=$(dirname $subfile)
+               mkdir -p $SPOOL/ack/$filedir
+               mv $file $SPOOL/ack/$filedir
+               exit 0
                ;;
        new)
                if [ $# -eq 1 ]; then set general $1; fi
@@ -49,7 +76,7 @@ case $cmd in
                                tmp=$(mktemp -p $SPOOL/open)
                                cat - > $tmp
                                file=$(zpm sequence notes)
-                               mv $tmp $SPOOL/open/$pkg/$file
+                               mv $tmp $SPOOL/open/$pkg/$file || { rm -f $tmp ; exit 1; }
                                echo created $file
                                ;;
                        *)
@@ -57,8 +84,8 @@ case $cmd in
                                flock -n -E3 $tmp vim $tmp
                                if [ $? -eq 3 ]; then echo already editing $1; exit 1; fi
                                file=$(zpm sequence notes)
-                               mv $tmp $SPOOL/open/$pkg/$file
-                               rm -f $tmp
+                               mv $tmp $SPOOL/open/$pkg/$file || { rm -f $tmp; exit 1; }
+                               echo created $file
                                ;;
                esac
                ;;