[Allegro] getfile.flx
Bernhard Eversberg
ev at biblio.tu-bs.de
Fr Nov 7 11:30:38 CET 2014
Am 06.11.2014 15:24, schrieb Thomas Berger:
>
> Hihi,
>
> das aktuell ausgefuehrte getfile.flx enthaelt den Test
>
> if %404 Not Found% jump notf
>
> und das geholte enthaelt dieselbe Zeile, darin enthalten natuerlich
> die Zeichenkette "404 Not Found": Insofern wird die erfolgreich
> herbeigeholte Datei als ihre eigene Statusmeldung verkannt und
> verworfen...
Ja, ein kurioses Eigentor! Ich hab mir das schnell mal aufgeschrieben
für meine Memoiren.
Nun aber haben wir den getfile.flx resistent gemacht gegen diese
Situation. Ausnahmsweise sende ich die Datei getfile.flx mit,
weil's ja anders eben nicht geht.
Außerdem kann man damit nun auch Dateien größer als 64K abrufen,
denn es wird die Datei mit "open" geöffnet und mit "get" zeilenweise
gelesen.
Das brauchen wir für eine wichtige Neuerung, dazu später mehr.
B.Eversberg
-------------- nächster Teil --------------
getfile.flx : Datei vom Webserver holen und lokal speichern
2014-11-07
if "" jump dnam
ins $dn
jump getit
:dnam
mes Datei existiert schon, bitte anderer Name:
ask Dateiname?
if "" end
ins $dn
:getit
Name des Ordners
var $dn "xx"
if %~.flxxx% var P "flex\\"
if %~.incxx% var P "flex\\"
if %~.rtfxx% var P "help\\"
if %~.vwxx% var P "help\\"
if %~.htmxx% var P "html\\"
if not %\\% var P
ins $fo
var $fo $dn
open x
var "now getting http://www.allegro-c.de/aktuelle-version/getfile/" $dn " ... please wait"
sho IV
var "http://www.allegro-c.de/aktuelle-version/getfile/" $dn
open
var ""
// if "" mes Kein Erfolg;end
:loop
get
if %404 Not Found% and if not %jump notf% jump notf
if "" jump ENDE
Ersetzung der Zeichenfolge 10 13 10 durch 13 10
var (F"^J^M")
ins $txt
Datei schreiben
wri $txt n
jump loop
:ENDE
close x
var "Datei " $dn " wurde im Ordner " $fo " abgelegt"
mes
yes Datei anzeigen?
if not yes end
var $dn
help
end
:notf
var "Die Datei " $dn " wurde auf dem Server nicht gefunden"
mes
Mehr Informationen über die Mailingliste Allegro