#!/bin/sh
# Skrypt agenda przeglądający plik .agenda i sprawdzający,
# czy znajdują się w nim terminy wypadające bieżącego dnia.

agendafile="$HOME/.agenda"

checkDate()
{
  # Zdefiniowanie możliwych domyślnych wartości opisujących bieżący dzień.
  weekday=$1   day=$2   month=$3   year=$4
  format1="$weekday"   format2="$day$month"   format3="$day$month$year"

  # Przeglądanie pliku i porównywanie dat.
  IFS="|"       # Do dzielenia odczytanych rekordów będzie wykorzystany znak
                # w zmiennej IFS.

  echo "Terminy na dzisiaj:"

  while read date description ; do
    if [ "$date" = "$format1" -o "$date" = "$format2" -o \
         "$date" = "$format3" ]
    then
      echo "  $description"
    fi
  done < $agendafile
}

if [ ! -e $agendafile ] ; then
  echo "$0: Brak pliku .agenda." >&2
  echo "Najpierw dodaj termin za pomocą skryptu 'addagenda'." >&2
  exit 1
fi

# Odczytanie bieżącej daty.

eval $(LC_ALL=pl_PL.utf8 date '+weekday="%a" month="%b" day="%e" year="%G"')

day="$(echo $day|sed 's/ //g')" # Usunięcie spacji na początku ciągu.

checkDate $weekday $day $month $year

exit 0