#! /bin/bash

if [ "$1" = "-h" -o "$1" = "--help" ]; then
    cat - <<EOF
extract -- ein shell script aus der aperl package fuer German Atlantis

Die Datenfiles werden im directory daten/ aufbewahrt.  Dort muss sich
auch die Datei "inseln" befinden, welche die Namen der Inseln
enthaelt.  Die neuen Daten stammen alle aus den Dateien "rohdaten" und
"rohdaten-freunde".  Dort soll man alle neuen Auswertungen
aneinandergehaengt hineinspeichern.  Sollten sich dort auch Listen von
Regionen befinden (zB. wenn eine ACSAS Datei ins Weltkarten-Format
konvertiert wurde), dann muss diese Liste *vor* allen Auswertungen
stehen.

Nur die Daten von "rohdaten-freunde" werden dazu verwendet, um
Schiffs- und Verteilungsinformationen zu sammeln.

Die bestehenden Datenfiles werden im directory arc/ archiviert.  Sie
werden hierzu mit einer Endung versehen, welche man auf der command
line angeben muss.  Beispiel:

  $0 44a

EOF
    exit
fi


echo Init...
ROHDATEN="rohdaten"
if [ ! -f $ROHDATEN ]; then
    echo "Die Datei \"$ROHDATEN\" fehlt."
    exit
fi
if [ -f "rohdaten-freunde" ]; then
    ROHDATEN="$ROHDATEN rohdaten-freunde"
fi

if [ -z "$1" ]; then
    echo "Unter welcher Nummer sollen die alten Daten gespeichert werden?"
    exit
fi

if [ ! -d "arc" ]; then
    mkdir arc
fi

if [ ! -d "daten" ]; then
    mkdir daten
fi

if [ -f arc/regionen.$1 ]; then
    echo "Die Nummer $1 wurde schon einmal verwendet."
    exit
fi

# Daten, bei denen man alte Listen mitverwenden kann...
# Backups der alten Listen gzipped im arc/ subdirectory.

echo Die folgenden Daten stammen aus den Dateien \"$ROHDATEN\".

echo Regionen...
if [ -f daten/regionen ]; then
    mv daten/regionen arc/regionen.$1
else
    echo > arc/regionen.$1
fi
cat arc/regionen.$1 $ROHDATEN | regionen.pl > daten/regionen
gzip arc/regionen.$1
echo formatierte Regionen...
cat daten/inseln daten/regionen | fregionen.pl > daten/fregionen
echo Karte...
karte.pl < daten/regionen > daten/karte

echo Handelsdaten...
if [ -f daten/handelsdaten ]; then
    mv daten/handelsdaten arc/handel.$1
else
    echo > arc/handel.$1
fi
cat arc/handel.$1 $ROHDATEN | handel.pl > daten/handelsdaten
gzip arc/handel.$1
echo formatierte Handelsdaten...
cat daten/inseln daten/handelsdaten | fhandel.pl > daten/fhandelsdaten

echo Burgen...
if [ -f daten/burgen ]; then
    mv daten/burgen arc/burgen.$1
else
    echo > arc/burgen.$1
fi
cat arc/burgen.$1 $ROHDATEN | burgen.pl > daten/burgen
gzip arc/burgen.$1
echo formatierte Burgen...
cat daten/inseln daten/burgen | fburgen.pl > daten/fburgen

echo Alle weiteren Daten stammen aus der Datei \"rohdaten-freunde\".

echo Schiffe...
if [ -f daten/schiffe ]; then
    mv daten/schiffe arc/schiffe.$1
else
    echo > arc/schiffe.$1
fi
cat arc/schiffe.$1 rohdaten-freunde | schiffe.pl > daten/schiffe
gzip arc/schiffe.$1
echo formatierte Schiffe...
cat daten/inseln daten/schiffe | fschiffe.pl > daten/fschiffe

# Daten, bei denen man alte Listen NICHT mehr verwenden kann...

echo Verteilung...
mv daten/verteilung arc/verteilung.$1
gzip arc/verteilung.$1
verteilung.pl < rohdaten-freunde > daten/verteilung
echo formatierte Verteilungsdaten...
cat daten/inseln daten/verteilung | fverteilung.pl > daten/fverteilung

# Zusammenfassung schreiben

zusammenfassung
