#!/bin/csh -f

# @(#)Collect and pack news with tin. V. 3.1 Sep 1994 josdb@xs4all.nl (Jos den Bekker)

set workdir=/tmp/poll.$$
set polldir=~/poll
set date=`date +%d%m`
set prg=`basename $0`
set nonomatch

if ( ! -d $polldir ) then
  set polldir=~
endif

if ( -e ~/.newsrc ) then
  cp ~/.newsrc ~/.newsrc.prev
else
  echo "${prg}: file .newsrc is gone!"
  exit 1
endif

if ( -d $workdir ) then
  echo "${prg}: working directory $workdir already exists."
  exit 1
else

mkdir -p $workdir
if ( $status != 0 ) then
  echo "${prg}: error creating working directory $workdir"
  exit 1
else
  cd $workdir
endif

onintr interrupt

tin -r -n -S -s $workdir -c </dev/null >/dev/null

if ( `/bin/ls $workdir | wc -l` == 0 ) then
  echo "${prg}: no unread news found..."
  cd
  rm -rf $workdir
endif

zip -rqb /tmp news$date *
if ( $status != 0 ) then
  echo "${prg}: zip error; output in $workdir"
  exit 1
endif

if ( -e $polldir/news*.zip.* ) rm $polldir/news*.zip.*

if ( -e $polldir/news$date.zip ) mv $polldir/news$date.zip $polldir/news$date.zip.$$

mv news$date.zip $polldir
if ( $status != 0 ) then
  echo "${prg}: error moving $workdir/news$date.zip to $polldir"
  exit 1
endif

cd
rm -rf $workdir
exit 0

interrupt:
onintr -
cd
echo -n "${prg}: interrupted... "
if ( `/bin/ls $workdir | wc -l` == 0 ) then
  echo "no output"
  rm -rf $workdir
else 
  echo "output is in $workdir"
endif
exit 1
