Username='Dirk Johannwerner'               # Username
Passwort='isfalsch';                       # Passwort
Sendfile=\''f:\cat\export\infile.txt'\';   # Pfad/Datei des Infiles
Recepath=\''f:\cat\import\'\';             # Pfad fr das Outfile
Mausname='Maus K”ln';                      # Hier die Heimatmaus eintragen
Repeat=0;                                  # 0 bedeutet bis zur Stromausfall
                                           # >0 max. Anzahl der W„hlversuche

#                                 ACHTUNG!
#
# Ab hier bitte nichts mehr „ndern! Andernfalls kann das FšRCHTERLICH
# in die Hose gehen und mit Datenverlust etc. enden!
#
# Fr Sch„den, die aus der Benutzung des Scripts entstehen, wird
# KEINE Haftung bernommen.
#
#
# M”gliche Parameter:
#
# Wird der Script ohne Parameter gestartet, so wird die oben angegebene
# MAUS angew„hlt, eventuell vorhandene Programme im pers”nlichen Programm-
# teil downgeloadet, der automatische Maustausch gestartet und eine Liste
# der neuen Programme im ”ffentlichen Programmteil angefordert. Danach
# legt das Modem auf.
#
# Wird der Script mit dem Parameter "online" als erstem Parameter gestartet,
# so wird nach dem Empfangen der Programmliste nicht aufgelegt, sondern man
# bleibt Online in der MAUS. Beliebige andere Worte als erster Parameter
# sorgen fr ein direktes Auflegen nach dem Empfangen der Programmliste.
#
# Als zweiter Parameter kann zus„tzlich "Nodial" angegeben werden. Geschieht
# dies, so wird nicht gew„hlt, sondern direkt ein LOGIN versucht. Das ist
# sinnvoll, wenn man z.B. mehrere M„use anw„hlen m”chte. Man kann dann im
# Wahldialog als Script "<Scriptname> online Nodial" angeben, so daž dieser
# Script automatisch nach dem Connect gestartet wird. Dabei muž natrlich
# fr jede MAUS ein eigener Script mit den passenden Pfaden vorliegen!
# Dieser Parameter muž UNBEDINGT als zweiter Parameter angegeben werden,
# wenn diese Funktion aktiviert werden soll.
#
# K”ln, 31. Januar 1993 - 20.33 Uhr 3. Nicht-ž-Release


# -------------------------------------------------------
#           Unterroutinen fr den Maustausch
# -------------------------------------------------------


function nologin {
  echo \033"[4;1mFehler:"\033"[0m"
  echo "Im Moment erscheint die Maus nicht gewillt, uns"
  echo "Einlaž zu gew„hren."
  hangup
  break -1
}

function schlaeft {
  echo \033"[4;1mFehler:"\033"[0m"
  echo "Im Moment erscheint die Maus nicht gewillt, aus"
  echo "Ihrem Schlaf zu erwachen und unsere Befehle zu befolgen."
  hangup
  break -1
}

function loginerror {
  echo \033"[4;1mFehler:"\033"[0m"
  echo "Im Moment erscheint die Maus nicht gewillt, von uns"
  echo "Namen und Passwort zu erfragen."
  hangup
  break -1
}


function noconnect {
  echo \033"[4;1mFehler:"\033"[0m"
  echo "Im Moment erscheint die Maus nicht gewillt, ihre"
  echo "Amtleitung fr uns frei zu machen."
  break -1
}

function screen {
  echo -n \33"[2J"\33"[H"
  echo "----------------------------------------------------------"
  echo \33"[4;1m Maus - Tausch "\33"#3"
  echo \33"#4 Maus - Tausch"\33"[0m "
  echo \33"#6                 mit CoNnect"
  echo "                                     von Wolfgang Wander"
  echo "Script berarbeitet von:                 Dirk Johannwerner"
  echo "----------------------------------------------------------"
}

function mauswait {
  mausdone=0
  while [ $mausdone = 0 ] ; do
    if ! waitfor -t 30 'Leertaste' $1 $2 $3; then
      schlaeft
    fi
    if [ $WAITID = 1 ]; then
      send -n ' '
    else
      mausdone=1
    fi
  done
}


function persdownload {
  echo \033"[4;1mPers”nliche Bin„rdateien downloaden"\033"[0m"
  send -n 'p'
  mauswait 'Programme'

  send -n 'p'
  mauswait 'Programme'

  send -n 'e'
  mauswait ':'

  send '*.*'

  persdone=0
  while [ $persdone = 0 ]; do
    mauswait 'Protokoll' 'nun'
    if [ $WAITID = 2 ]; then
      persdone=1
    else
      send -n u
    fi
  done
  send -n 'z'
  waitfor 'B0'
  download -p $Recepath

  mauswait 'Programme'

  send -n 'l'
  mauswait 'Dienst'

  send -n 'n'
  mauswait 'werden'

  send '*.*'
  persdone=0
  while [ $persdone = 0 ]; do
    mauswait 'Programme:' '”schen:' 'durchgehen?'
    if [ $WAITID = 2 ]; then
      persdone=1
    fi
    if [ $WAITID = 3 ]; then
      send -n j
    fi
    if [ $WAITID = 4 ]; then
      send -n n
    fi
    done

  send -n 'z'
  mauswait 'Hauptmen'
}

function neuedateien {
  echo \033"[4;1mListe der neuen Files downloaden (ungepackt)"\033"[0m"
  send -n 'p'
  mauswait 'Programme'

  send -n 'a'
  mauswait 'Eingabe'

  send -n 'n'
  mauswait 'Eingabe'

  send -n 'o'
  mauswait 'Packer'
  send -n 'k'
  mauswait 'Protokol'
  send -n 'z'
  WAITID=0
  neueliste=0
  waitfor 'B0' 'Programme...' 'Files'
  if [ $WAITID = 1 ]; then
     download -p $Recepath
     neueliste=1
  fi
  mauswait 'Programme'
  send -n 'z'
  mauswait 'Hauptmen'
}


# ========================================================
#   Hier beginnt das Script fr den CONNECT - Maustausch
# ========================================================

ctty vt102 vt102id

screen

if test "$2" != "Nodial"; then

  echo "                                                  "
  echo ".................... Anwahl ......................"
  echo "                                                  "

  if ! dial -v -r $Repeat "$Mausname"; then
    noconnect
  fi

fi

echo "Wir haben eine Verbindung zu $Mausname."


echo "                                                  "
echo "................ Login-Prozedur .................."
echo "                                                  "

if ! waitfor -t 10s '(J/N)'; then
  nologin
fi

sleep 200m; send -n 'j'

if ! waitfor -t 30 'Name      :'; then
   loginerror
fi

sleep 50m;  send "$Username"

if ! waitfor -t 30 'Password  :'; then
   loginerror
fi

sleep 50m;  send "$Passwort"

done=0
persoenliche=0

# --------------------------------------------------------
#   Schleife, in der geprft wird, ob pers”nliche
#    Bin„rdateien angekommen sind.
# --------------------------------------------------------

while [ $done = 0 ]; do
  if ! waitfor -t 30 'finden' 'Hauptmen' 'Leertaste'; then
    schlaeft
  fi
  if [ $WAITID = 1 ] ; then
    persoenliche=1
  fi
  if [ $WAITID = 2 ] ; then
    done=1
  fi
  if [ $WAITID = 3 ] ; then
    send -n ' '
  fi
done

if [ $persoenliche = 1 ]; then
  persdownload;
fi

send 't'

sleep 900m
send -n 'z'

if ! waitfor -i -t 30 'protokoll startet'; then
  schlaeft
fi

if ! upload $Sendfile; then
  uploadfehler
fi

if ! waitfor -i -t 600 'protokoll startet'; then
  schlaeft
fi

if ! download -p $Recepath; then
  downloadfehler
  exit 1
fi

mauswait 'Hauptmen'

neuedateien

if test "$1" != "online"; then

  send -n 'sj'; hangup
  waitfor -i -t 15 'no carrier'

fi

echo "     "
echo "-----------------------------------------------------------"
echo \33"#3 Maustausch erfolgreich abgeschlossen"
echo \33"#4 Maustausch erfolgreich abgeschlossen"
if [ $persoenliche = 1 ] ; then
   echo "Sie finden im Verzeichnis $Recepath"
   echo "Neue pers”nlich Bin„rdateien"
   echo "  "
fi
if [ $neueliste = 1 ] ; then
   echo "Sie finden im Verzeichnis $Recepath"
   echo "eine Datei der neuen Programme in der Box $Mausname"
fi

quit  # Falls CoNnect nach dem Tausch verlassen werden soll...

