#!/bin/sh
# Optionen: -nb = Kein Backup
# Benötigt werden:
#   - Korrekt eingerichtetes pilot-xfer (Programmpaket)
#   - evtl. gepatcht für JustInTime s.u.
#   - evtl. pilot-datebook
#   - makedoc7 oder iSilo386
#   - formail aus dem Procmail-Paket (für mail in DOC Wandlung)
#   - Verzeichnis /var/spool/pilot/pendinginstall/
#   - Verzeichnis /var/spool/pilot/pendinginstall/done
#   - Verzeichnis /var/backups/pilot/
#   - Verzeichnis /var/backups/pilot/all
#----------------------------------------------------------------------------
# ...
# 04.06.01 kw Erzeugung Calendar-File
#


export PILOTRATE=H115200

echo " --- Hotsync --- Datarate = $PILOTRATE ---"

#doBackup=
#doInstall=1

cmd=" "
#-- Backup Pilot data
if [ "$1" != "-nb" ] ; then
    cmd=$cmd" -s /var/backups/pilot"
#    doBackup=1
fi    

#-- Timesync für die gepatchte JustinTime-Version (Palmuhr syncen)
#-- einkommentieren, wenn die Standardversion von pilot-xfer
#-- verwendet wird.
cmd=$cmd" -t"

#-- Dateien syncen.
# $TODO 

#-- Mail holen (wird unten dann von TXT nach PRC gewandlet)
if [ -f /var/spool/mail/palm ] ; then 
    echo " Mail holen und vorbereiten ... "
    ls -sh /var/spool/mail/palm    
    
    cp /var/spool/mail/palm    /tmp/hotsync.$$$
    # ---- quoted printable entfernen
    #-- kürzt Zeilen ... recode latin1/QP..latin1 /tmp/hotsync.$$$
    echo " Mailheader entfernen ... "
    formail -k -X Date -X Subject -X From -s < /tmp/hotsync.$$$ > /var/spool/pilot/pendinginstall/mail$(date +%y%m%d-%H%M).txt
    rm -f /var/spool/mail/palm 
    rm -f /tmp/hotsync.$$$
fi    

# Dateien wandeln
echo " Dateien wandeln ...:"
#-- Install newData und schiebts anschliessend nach done.
mvarg=
log=
for rohdatei in /var/spool/pilot/pendinginstall/* ; do
    if [ -f "$rohdatei" ] ; then 
	case "$rohdatei" in
		*.htm | *.html )
                    echo "   "$rohdatei" für Plucker wandeln ... "
		    datei=$rohdatei"-plucker"
		    rm -f "$datei"
		    #-- isilo386 hat einen Fehler. Deswegen sollte cd't werden
		    #-- cd /var/spool/pilot/pendinginstall
		    #-- isilo386 "$rohdatei" "$datei"
		    #--
		    #-- Pluckern    --quiet   
		    python /usr/local/PyPlucker/Spider.py -M0 --noimages --category=Autoconverted -H "file:$rohdatei" -f "$datei" -N $(basename $rohdatei)
		    mv "$rohdatei" /var/spool/pilot/pendinginstall/done/
		    #-- Plucker hängt selber 'pdb' dran ...
		    datei=$datei".pdb"
		    ;;
		*.txt )
                    echo "   "$rohdatei" wandeln ... "
		    datei=$rohdatei".pdb"
		    rm -f "$datei"
                    # isilo386 "$rohdatei" "$datei"
		    makedoc7 $rohdatei $datei $(basename $rohdatei)
		    echo
		    mv "$rohdatei" /var/spool/pilot/pendinginstall/done/
		    ;;
		*.memo )
                    echo "   "$rohdatei" wandeln ... "
		    $rohdatei
		    ;;
		*)
		    datei="$rohdatei"
		    ;;
      esac
      if [ "$datei" ] ; then    
         cmd=$cmd" -i ""$datei"
         mvarg=$mvarg" ""$datei"
         log=$log"\n\t"$(basename "$datei")
      fi
    fi
done

#--- und nun das eigentlich Sync durchführen
if [ "$cmd" ] ; then
#   -- Da wir SYNC machen, erstmal alles nach all/ sichern ---
    echo "-----------------------"
    echo -e "Vaterbackup sichern ..."
    cp -fup /var/backups/pilot/* /var/backups/pilot/all/
#   -- und nun sichern und installieren
    echo "-----------------------"
    echo -e "installing: "$log 
    echo $mvarg > /tmp/hi2
    echo $cmd   > /tmp/hi
    pilot-xfer $cmd || exit
    #--  Laut Palm darf diese Datei nie backuped werden ...
    rm -f /var/backups/pilot/Unsaved\ Preferences.prc
fi

#pilot-mail -p /dev/pilot -h localhost -u palm -P <passwort> 
-k delete -s "/usr/sbin/sendmail -t -i" -d file
echo
#echo "Pilot-Mail   "
#pilot-mail -p /dev/pilot -s "/usr/sbin/sendmail -t -i" -d file

# --------------------- Nachbeahndlungen -------------------------

# -- Datebook als Datei f|r Calendar:
#if [ -f /usr/local/src/palm/pilot-link.0.9.5-pre5/pilot-datebook ] ; then 
#    /usr/local/src/palm/pilot-link.0.9.5-pre5/pilot-datebook -r pdb -f /var/backups/pilot/DatebookDB.pdb -w shorttxt | grep -i $(date +"%Y") | tr "\t" " " | sed -e "s/00:00/ /g"  -e "s/  */ /g" > /etc/calendar/palm
#fi

# -- DB-Datenbank "Anfangende" ins Web schieben:
if [ -f /usr/local/bin/pdb2csv ] ; then
    AnfPDB="/var/backups/pilot/Anfang-Ende.pdb"
    AnfZiel="/home/walter/public_html/anfend.txt"
    AnfZielCSV="/home/walter/public_html/anfend.csv"
    if [ -f $AnfPDB ] ; then 
	touch /tmp/dummy.nfo
    	/usr/local/bin/pdb2csv "$AnfPDB"  /tmp/$anf.$$$ /tmp/dummy.nfo
        if [ -f /tmp/$anf.$$$ ] ; then 
	    sort /tmp/$anf.$$$ > /tmp/$anf.$$$2
   	    mv -f /tmp/$anf.$$$2 /tmp/$anf.$$$
	    cat <<__EOF__ > $AnfZiel
	
Eine Liste von Worten, die durch Verbinden mit anderen Worten 
Doppelbedeutungen erhalten. Beispiel: "Wach-s-tube".
	
Stand: $(date -r $AnfPDB +"%A, %x")

 Wort, Erstelldatum
-------------------- 
__EOF__
	    cat /tmp/$anf.$$$ >> $AnfZiel
	    mv /tmp/$anf.$$$ $AnfZielCSV
	    rm -f /tmp/$anf.$$$ /tmp/dummy.nfo	
	fi
    fi
    
    PDB="/var/backups/pilot/Find ich gut.pdb"
    ZielCSV=/home/walter/public_html/gut.csv
    if [ -f "$PDB" ] ; then 
	touch /tmp/dummy.nfo
    	/usr/local/bin/pdb2csv "$PDB" /tmp/$anf.$$$ /tmp/dummy.nfo
	touch /tmp/$anf.$$$
	sort /tmp/$anf.$$$ > $ZielCSV
	rm -f /tmp/$anf.$$$ /tmp/dummy.nfo	
    fi
    PDB="/var/backups/pilot/Find ich doof.pdb"
    ZielCSV=/home/walter/public_html/doof.csv
    if [ -f "$PDB" ] ; then 
	touch /tmp/dummy.nfo
    	/usr/local/bin/pdb2csv "$PDB" /tmp/$anf.$$$ /tmp/dummy.nfo
        sort /tmp/$anf.$$$ > $ZielCSV
	rm -f /tmp/$anf.$$$ /tmp/dummy.nfo	
    fi
    
fi

# ----------------- Log schreiben --------------------------
if [ "$log" ] ; then    
    echo -e "----\n"$(date)$log >> /var/log/pilot_install.log
    # --- Installiertes verschieben 
    mv $mvarg  /var/spool/pilot/pendinginstall/done/
fi    

