home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #6
/
amigamamagazinepolishissue1998.iso
/
opus
/
v5
/
web_update
/
webupdate.lha
/
WebUpdate.dopus5
next >
Wrap
Text File
|
1997-08-17
|
4KB
|
145 lines
/* $VER: WebUpdate.dopus5 1.15 (17 AUG 97)
** by Charles Patterson <midian@azstarnet.com>
** http://www.azstarnet.com/~midian/
**
** Description: Connects to FTP site, compares web page file dates then
** uploads updated files.
**
** Requirements: DirectoryOpus v5.5 (© 1996 by Jonathan Potter)
** Online with a TCP stack (no kidding :)
** rexxreqtools.library 1.3 (© 1992-94 Rafael D'Halleweyn)
**
** Instructions: Copy script to DOPUS5:Arexx then run
** webupdate.dopus5 anyway you want to. :)
*/
OPTIONS RESULTS
PARSE ARG prefs
IF ~OPEN('env','ENV:WebUpdate.prefs',R) | prefs = '?' THEN DO
IF OPEN('env','ENV:WebUpdate.prefs',R) THEN DO
DO z = 1 to 5
defstring.z = READLN('env')
END
CLOSE('env')
END
ELSE DO
defstring.1='ftp.somewhere.com'
defstring.2='username'
defstring.4='/users/home/username/'
defstring.5='DH2:Homepage'
END
env.1 = RTGETSTRING(defstring.1,'Enter your internet host')
IF ~rtresult THEN EXIT
env.2 = RTGETSTRING(defstring.2,'Enter your user name')
IF ~rtresult THEN EXIT
env.3 = RTGETSTRING(,'Enter your password',,,"rtgs_invisible=TRUE")
IF ~rtresult THEN EXIT
env.4 = RTGETSTRING(defstring.4,'Enter the remote path')
IF ~rtresult THEN EXIT
env.5 = RTGETSTRING(defstring.5,'Enter the local path')
IF ~rtresult THEN EXIT
OPEN('env','ENVARC:WebUpdate.prefs',W)
DO n = 1 to 5
WRITELN('env',env.n)
END
CLOSE('env')
ADDRESS COMMAND 'COPY ENVARC:WebUpdate.prefs ENV:WebUpdate.prefs'
EXIT
END
OPEN('env','ENV:WebUpdate.prefs',R)
DO n = 1 to 5
env.n = READLN('env')
END
CLOSE('env')
LISTER.1.0=env.4
LISTER.0.0=env.5
IF ~SHOW('P',DOPUS.1) THEN ADDRESS COMMAND RUN DOPUS5:DirectoryOpus
ADDRESS DOPUS.1
DOPUS FRONT
DOPUS VERSION
IF ( result='RESULT' | TRANSLATE(result,'.',' ') < 5.1218 ) THEN DO
DOPUS REQUEST '"This script requires DOpus v5.5 or greater." OK'
EXIT
END
DOPUS SCREEN
screen=RESULT
PARSE VAR screen sinfo.0 screen
PARSE VAR screen sinfo.1 screen
IF sinfo.1 > 600 THEN DO
LISTER NEW "0/11/262/351" LISTER.0.0
END
ELSE DO
LISTER NEW "0/11/150/200" LISTER.0.0
END
LISTER.0.1=RESULT
/* Connect here */
COMMAND WAIT FTPCONNECT env.1 env.2 env.3 DIR LISTER.1.0
LISTER REQUEST LISTER.0.1 '"When Remote directory '||'0a'x||'is listed click" OK'
LISTER QUERY ALL
lists=RESULT
k=0
DO WHILE lists ~= ''
PARSE VAR lists list.k lists
END
LISTER.1.1=list.k
DO n = 0 TO 1
LISTER SET LISTER.n.1 TITLE 'Listing Files'
LISTER REFRESH LISTER.n.1 FULL
LISTER SET LISTER.n.1 BUSY 1 WAIT
LISTER QUERY LISTER.n.1 FILES stem file.n
LISTER QUERY LISTER.n.1 NUMFILES
NFiles.n = RESULT
DO f = 0 TO NFiles.n
LISTER QUERY LISTER.n.1 ENTRY file.n.f stem fileinfo.n.f
END
END
DO n = 0 to 1
LISTER SET LISTER.n.1 BUSY 0
LISTER SET LISTER.n.1 TITLE 'Comparing...'
LISTER REFRESH LISTER.n.1 FULL
LISTER SET LISTER.n.1 BUSY 1 WAIT
END
filetrans=''
DO c = 0 TO (NFiles.0 - 1)
DO z = 0 TO (NFiles.1 - 1)
IF file.0.c = file.1.z THEN DO
IF fileinfo.0.c.date > fileinfo.1.z.date THEN
filetrans=filetrans file.0.c
ITERATE c
END
END
filetrans=filetrans file.0.c
END
/* Upload files */
LISTER SET LISTER.0.1 TITLE 'Uploading...'
LISTER SET LISTER.1.1 TITLE 'Receiving...'
DO n = 0 to 1
LISTER SET LISTER.n.1 BUSY 0
LISTER REFRESH LISTER.n.1 FULL
END
DO WHILE filetrans ~= ''
PARSE VAR filetrans fileup filetrans
LISTER SELECT LISTER.0.1 fileup
END
COMMAND WAIT SOURCE LISTER.0.1 DEST LISTER.1.1 COPY
LISTER REQUEST LISTER.1.1 '"Click OK when upload is finished." OK'
LISTER CLOSE LISTER.0.1
COMMAND FTPQUIT
EXIT