From: Moritz Barsnick (at dot) Date: Mon, 22 Jun 2009 11:22:26 +0000 (-0400) Subject: Added grepm as a template for an output-mbox-to-mutt script. X-Git-Tag: 1.0.0~71^2~6^2~7 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2553cc43edd5a792c2f12d10ea1ab4f8cd771cc1;p=be.git Added grepm as a template for an output-mbox-to-mutt script. The goal is to turn grepm into catmutt, and end up with $ be --xml list | be-xml-to-mbox | catmutt to browse current bugs and comments in mutt. Moritz has generously donated grepm under GPLv2. Not GPLv>=2 yet, so if the project decides to go to GLPv3 for example, this file will have to stay behind. Not that I see such a change coming, but I thought it was worth commenting on, so we don't forget. --- diff --git a/xml/grepm b/xml/grepm new file mode 100644 index 0000000..cf5472a --- /dev/null +++ b/xml/grepm @@ -0,0 +1,65 @@ +#!/bin/sh + +# grepm - a wrapper for grepmail utilizing mutt + +# Copyright (C) 1998-1999 Moritz Barsnick +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# grepm-0.6 +# +# written 1998-11-xx by Moritz Barsnick +# updated 1998-12-22: added "-m" option for grepmail +# added "exit 1" to trap +# updated 1999-01-04: added check for empty "mailbox" (don't open mutt) +# added messages +# added umask (to keep others from reading your messages) +# updated 1999-01-19: added trap for SIGPIPE (any other suggestions?) +# updated 1999-07-05: added $TMPDIR; we're still subject to races ($TMPFILE +# might exist) +# updated 1999-11-29: have mutt open the temporary mailbox read-only - +# there's no use in editing it anyway + + +PROGNAME=`basename "$0"` +TMPDIR=${TMPDIR-/tmp} + +umask 077 + +if [ $# -lt 1 ]; then + echo 1>&2 "Usage: ${PROGNAME} arguments" + exit 1 +fi + +TMPFILE="${TMPDIR}/grepmail-output.$$" + +# I _would_ check this with "-e", but not all /bin/sh's understand it +# so this is just a kludge + +if [ -f ${TMPFILE} -o -d ${TMPFILE} -o -w ${TMPFILE} ]; then + echo 1>&2 "Temporary file ${TMPFILE} exists for some reason! Aborting." + exit 1 +fi + +trap "rm -f ${TMPFILE}; exit 1" 1 2 3 13 15 + +grepmail -m "$@" > "${TMPFILE}" +if [ `wc -c "${TMPFILE}" | awk '{print $1}'` -gt 0 ]; then + echo 1>&2 "Calling mutt on results file (${TMPFILE})." + mutt -R -f "${TMPFILE}" +else + echo 1>&2 "No matches." +fi + +rm -f "${TMPFILE}" && echo 1>&2 "Deleted results file (${TMPFILE})."