#!/bin/sh

###############################################################################
###                                                                         ###
###                            suckem v0.99-pre5                            ###
###                                                   Sosnowiec, 18.04.2000 ###
###############################################################################
###                                                                         ###
###            Skrypt sucy do automatyzacji pobierania feedw            ###
###                                                                         ###
###############################################################################
###                                                                         ###
### Zmienne programu:                                                       ###
### - $MAINDIR - katalog gwny suckem'a,                                   ###
### - $AUTOEXPIRE [yes,no] - automatycznie rozpakowuje feedy,               ###
### - $REMOTE - adres feedu.                                                ###
###                                                                         ###
### Wywoanie programu:                                                     ###
### - suckem - pobierze feedy i, w zalenoci od $AUTOEXPIRE, rozpakuje je  ###
###   do katalogu spoola,                                                   ###
### - suckem expire - przeprowadzi tylko rozpakowanie feedw.               ###
###                                                                         ###
###  W razie problemw ze skryptem prosz si ze mn skontaktowa:          ###
###                                                                         ###
###                                          gotar@friko5.onet.pl           ###
###                                                                GoTaR    ###
###############################################################################

MAINDIR=/var/spool/news/feeder
AUTOEXPIRE="no"
REMOTE=http://www.media-com.com.pl/~radecki

if [ $# -eq 0 ]
then

 mkdir -p $MAINDIR/received
 mkdir -p $MAINDIR/log

 if [ ! -f $MAINDIR/grupy ]
 then echo "Brak pliku $MAINDIR/grupy"
  exit 1
 fi

 GRUPY=`cat $MAINDIR/grupy`

 [ -f $MAINDIR/last ] || echo -n 0 > $MAINDIR/last
 LAST=`cat $MAINDIR/last`

 echo -e "Pobieranie pliku $REMOTE/list"
 wget -N -c -nv -a $MAINDIR/log/list $REMOTE/list -P $MAINDIR
 if [ $? -ne 0 ]
 then
  echo "Wystpi problem podczas pobierania listy feedw"
  exit 1
 fi
 LIST=`cat $MAINDIR/list`

 NEWLAST=`tail -n1 $MAINDIR/list`

 if [ $LAST -ge $NEWLAST ]
 then
  echo "Nie ma nowych feedw"
  exit 0
 fi

 FIRST=`head -n1 $MAINDIR/list`
 LAST=$[LAST+1]
 ILEBRAKUJE=$[$FIRST - $LAST]
 if [ $ILEBRAKUJE -gt 0 ]
 then
  echo "Zbyt dugo nie byy cigane newsy, brakuje $ILEBRAKUJE feedw"
  LAST=$FIRST
 fi

 echo "Pobieranie feedw $LAST-$NEWLAST"

 for number in $LIST
 do
  [ $number -lt $LAST ] && continue
  for group in $GRUPY
  do
   echo "Pobieranie pliku $REMOTE/spool/$group.$number.bz2"
   wget -N -c -nv -a $MAINDIR/log/$group $REMOTE/spool/$group.$number.bz2 -P $MAINDIR/received &
   while [ `ps w | grep -c "\bwget -N -c -nv -a $MAINDIR/log/"` -ge 4 ]
   do
    sleep 1
   done
  done
 done

 until [ `ps w | grep -c "\bwget -N -c -nv -a $MAINDIR/log/"` -eq 0 ]; do sleep 1; done
 echo -n $NEWLAST > $MAINDIR/last
 echo "Feedy cignite"
fi

[ "$1" = "expire" -o $AUTOEXPIRE = "yes" ] || exit 0
echo "Rozpakowywanie feedw do spoola:"
extract-feeds
