home *** CD-ROM | disk | FTP | other *** search
- /* $VER: ConvCache.rexx 1.1 (14.12.95) Stephan Lichtendahl
- Convert old style documents and directory tree in new style */
-
- cachedir='AmiTCP:Cache/'
-
- if ~show(l,'rexxsupport.library') then
- if ~addlib('rexxsupport.library',0,-30,0) then
- exit
- if ~show(l,'rexxdossupport.library') then
- if ~addlib('rexxdossupport.library',0,-30,2) then
- exit .
-
- zoek=0
- nl='0a'x
- cr='0d'x
-
- call open(2input,cachedir'Cache.html','R')
- inhoud = readch(2input,65535)
- call close(2input)
-
- say 'Updating Env(Arc):Mosaic/prefs ...'
- address command 'Type >>'cachedir'RemHTMLlist 'cachedir'HTMLlist'
- call UpdateHL
-
- say 'Updating ImageList...'
- listfile=cachedir'Imagelist'
- dir=cachedir'Images/'
- call MkNewList
- imagelist=list
-
- say 'Updating HTMLlist...'
- listfile=cachedir'HTMLlist'
- dir=cachedir'HTMLs/'
- call MkNewList
- htmllist=list
-
- say 'Updating all HTML documents...'
- call MultiFR
-
- q=0
- say 'Creating images directory tree...'
- list=imagelist
- dir=cachedir'Images/'
- call MoveEm
-
- q=1
- say 'Creating HTMLs directory tree...'
- list=htmllist
- dir=cachedir'HTMLs/'
- call MoveEm
-
- call open(2output,cachedir'Cache.html','W')
- call writech(2output,inhoud)
- call close(2output)
-
- call delete(cachedir'NrOfImage')
- call delete(cachedir'Images')
- call delete(cachedir'HTMLs')
- say 'All done.'
- exit 0
-
- MkNewList:
- call open(1input,listfile,'R')
- list = readch(1input,65535)
- call close(1input)
- newlist=''
-
- startnr=1
- nr = pos(',',list)
- do while nr > 0
- bestand = substr(list,startnr,nr-startnr)
- stopnr = pos(nl,list,nr)
- urlnaam = substr(list,nr+1,stopnr-nr-1)
- urlpad = substr(urlnaam,pos('://',urlnaam)+3)
-
- newlist=newlist||urlpad||nl
- call MkLocal
- zoek.zoek='/'dir||bestand
- vervang.zoek='/'cachedir||urlpad
- zoek=zoek+1
-
- startnr=stopnr+1
- nr = pos(',',list,startnr)
- end
-
- call open(1output,listfile,'W')
- call writech(1output,newlist)
- call close(1output)
- return 0
-
- MkLocal:
- zoeknr = pos(':',urlpad)
- if zoeknr > 0 then
- if left(urlpad,10) = 'localhost/' then
- urlpad = substr(urlpad,zoeknr+1)
- else do
- midnr = pos('/',urlpad,zoeknr+1)
- urlpad = delstr(urlpad,zoeknr,midnr-zoeknr)
- end
- if right(urlpad,1) = '/' then
- urlpad=urlpad'.html'
- return 0
-
- ChkTree:
- zoeknr = pos('/',urlpad)
- do while zoeknr > 0
- pad = cachedir||left(urlpad,zoeknr-1)
- if ~exists(pad) then
- call makedir(pad)
-
- zoeknr = pos('/',urlpad,zoeknr+1)
- end
- return 0
-
- MoveEm:
- startnr=1
- nr = pos(',',list)
- do while nr > 0
- bestand = substr(list,startnr,nr-startnr)
- stopnr = pos(nl,list,nr)
- urlnaam = substr(list,nr+1,stopnr-nr-1)
- urlpad = substr(urlnaam,pos('://',urlnaam)+3)
-
- call MkLocal
- call ChkTree
- call rename(dir||bestand,cachedir||urlpad)
-
- if q then do
- tekst='HTMLs/'bestand
- zoeknr = pos(tekst'"',inhoud)
- if zoeknr > 0 then do
- inhoud = delstr(inhoud,zoeknr,length(tekst))
- inhoud = insert('/'cachedir||urlpad,inhoud,zoeknr-1)
- end
- end
-
- startnr=stopnr+1
- nr = pos(',',list,startnr)
- end
- return 0
-
- MultiFR:
- dir=cachedir'HTMLs/'
- files = showdir(dir,'FILES',',')','
- if files = ',' then
- return 0
-
- startnr=1
- stopnr = pos(',',files)
- do until stopnr = 0
- bestand = substr(files,startnr,stopnr-startnr)
-
- call open(6input,dir||bestand,'R')
- inhoud = readch(6input,65535)
- call close(6input)
-
- q=0
- do i=0 for zoek
- nr = pos(zoek.i,inhoud)
- do while nr > 0
- zklen=length(zoek.i)
- tekst=substr(inhoud,nr+zklen,1)
-
- if tekst='#' | tekst='"' then
- if pos('ACTION',upper(substr(inhoud,nr-11,10))) = 0 then do
- q=1
- inhoud = delstr(inhoud,nr,zklen)
- inhoud = insert(vervang.i,inhoud,nr-1)
- zklen=length(vervang.i)
- end
-
- nr = pos(zoek.i,inhoud,nr+zklen)
- end
- end
-
- if q then do
- call open(6output,dir||bestand,'W')
- call writech(6output,inhoud)
- call close(6output)
- say dir||bestand 'updated.'
- end
-
- startnr=stopnr+1
- stopnr = pos(',',files,startnr)
- end
- return 0
-
- UpdateHL:
- call open(7input,'Env:Mosaic/.mosaic-hotlist-default','R')
- list = readch(7input,65535)
- call close(7input)
-
- dir=cachedir'HTMLs/'
- if open(2input,cachedir'RemHTMLlist','R') then do
- htmllist = nl||readch(2input,65534)
- call close(2input)
-
- startnr=2
- nr = pos(',',htmllist)
- do while nr > 0
- bestand = substr(htmllist,startnr,nr-startnr)
- stopnr = pos(nl,htmllist,nr)
-
- zoeknr = pos(dir||bestand,list)
- if zoeknr > 0 then do
- urlnaam = substr(htmllist,nr+1,stopnr-nr-1)
-
- startnr=zoeknr-17
- nr = pos(nl,list,zoeknr)+2
- list = delstr(list,startnr,nr-startnr)
- startnr=startnr-1
-
- parse value date() with datum maand jaar .
- dag = left(date('W'),3)
- list = insert(urlnaam dag maand datum time() jaar||nl,list,startnr)
- end
-
- startnr=stopnr+1
- nr = pos(',',htmllist,startnr)
- end
-
- call delete(cachedir'RemHTMLlist')
- end
-
- call open(3input,cachedir'HTMLlist','R')
- htmllist = nl||readch(3input,65534)
- call close(3input)
-
- startnr=2
- nr = pos(',',htmllist)
- do while nr > 0
- bestand = substr(htmllist,startnr,nr-startnr)
- stopnr = pos(nl,htmllist,nr)
-
- zoeknr = pos(dir||bestand,list)
- if zoeknr = 0 then do
- urlnaam = substr(htmllist,nr+1,stopnr-nr-1)
- urlpad = substr(urlnaam,pos('://',urlnaam)+3)
- call MkLocal
-
- startnr = pos(urlnaam,list)
- if startnr = 0 then do
- startnr = pos('Default',list)+7
-
- tekst='/'bestand'">'
- midnr = pos(tekst,inhoud)
- if midnr = 0 then
- titel = 'URL: http://'urlpad
- else do
- midnr=midnr+length(tekst)
- nr = pos('<',inhoud,midnr)
- titel = strip(translate((substr(inhoud,midnr,nr-midnr),,nl'"'cr))
- end
- list = insert('©'titel||nl,list,startnr)
-
- end
- else do
- nr = pos(nl,list,startnr)+1
- list = delstr(list,startnr,nr-startnr)
- startnr=startnr-1
- list = insert('©',list,startnr)
- end
-
- parse value date() with datum maand jaar .
- dag = left(date('W'),3)
- list = insert('file://localhost/'cachedir||urlpad dag maand datum time() jaar||nl,list,startnr)
- end
-
- startnr=stopnr+1
- nr = pos(',',htmllist,startnr)
- end
-
- call open(7output,'Env:Mosaic/.mosaic-hotlist-default','W')
- call writech(7output,list)
- call close(7output)
- call open(7output,'EnvArc:Mosaic/.mosaic-hotlist-default','W')
- call writech(7output,list)
- call close(7output)
- return 0
-
-