/*
   RexX Script um aus einem Upload Verzeichnis in die Mailbox zu schaufeln

   written by Th.Strauß
   © by Th.Strauß'93
        ADG Saar

   This is Public Domain.

   Das Script benötigt das Programm AInc © by Th.Strauß'93 (ADG Saar)

   $VER: UpNew 1.12 © by Th.Strauß'93 ADG Saar, Public Domain
*/

/* trace results*/

/* Die folgenden Werte auf die eigene Konfiguration anpassen: */

/* Verzeichnis aus dem geuppt werden soll */ UpDir    = "PUB:Temp/"
/* Brett in das die Files gelegt werden   */ NewFiles = "450"
/* Name der Temporären Datei              */ tempfile = "T:UpNew.tmp"
/* TrashCan Directory für DelAfter        */ TrashCan = "TRASH:"
/* Filemuster um NUR die Files zu kriegen */ NotThese = "~(#?(.readme|.info))"
/* Standardkurzbetreff                    */ STDBETR  = "AInc Automatic Upload"'0'X

/* Files nach dem Upload in TrashCan      */ DelAfter = true
/* Hardlinks erzeugen (TRUE = JA)         */ Hardlink = false
/* Kurzbetreff erfragen (TRUE = JA)       */ QueryKB  = false

/* Programmstart */

address command 'list 'UpDir''NotThese' to 'tempfile' lformat="%s"'

Open(temp, tempfile, "Read")
   line = ReadLn(temp)

   DO WHILE ~EOF(temp)
      rline=REVERSE(line)
      PARSE VAR rline rext "." rrest
      rest=REVERSE(rrest)
      ext=REVERSE(rext)

      IF ~(EXISTS(UpDir""line'.readme') | EXISTS(UpDir""rest".readme")) THEN DO
          Open(readme, UpDir""line".readme", "W")
          WriteCH(stdout, "Kurzbetreff für "line" fehlt, ")
          if QueryKB = TRUE THEN DO
            say("bitte Eingeben:")
            WriteCH(readme, ReadLn(stdin))
            END
          ELSE DO
            say "Standardbetreff verwendet! "
            WriteCH(readme, STDBETR);
            END
         Close(readme)
      END

      if Hardlink=TRUE THEN
         HL="-L"
      ELSE
         HL=""

      address command "AInc >NIL: "HL" "NewFiles" "UpDir""line

      say "Upload von "line

      if DelAfter = true THEN DO
         address command "move >NIL: "UpDir""line" "TrashCan
         address command "move >NIL: "UpDir""line".readme "TrashCan
         address command "move >NIL: "UpDir""rest".readme "TrashCan
      END

      line = ReadLn(temp)
   END
say "Keine neuen Files mehr."
Close(temp)

address command "delete >NIL: "tempfile

exit 0

