REBOL [
Title: "Download and Extract REBOL Library"
Date: 28-May-2001
Version: 1.0.0
File: %copy-lib.r
Author: "Carl Sassenrath"
Purpose: "Download REBOL library and extract all its files."
Email: carl@rebol.com
Category: [compress file net util view 3]
]
if not confirm {This script downloads a compressed archive of the
REBOL library and extracts all files into your local script
directory. Do you want to proceed?} [quit]
out: center-face layout [
style tx text bold white black 200x24 middle
across
vh2 "Decompressing REBOL Library"
return
label 60x24 right "File:"
tf: tx
return
label 60x24 right "Status:"
sf: tx "Decompressing..."
return
pad 68
fc: label 92x24 "0 files"
button "Close" [quit]
]
path: %scripts/
if not data: request-download http://www.reboltech.com/library/library.rip [
alert "Library download failed." quit
]
if not exists? path [make-dir path]
code: context load append to-string copy/part data find data "if not exists?" "]"
archive: next find/case/tail data "!DATA:"
view/new out
if code/check <> checksum archive [sf/text: "Checksum failed." show sf do-events]
n: 0
foreach [file len] code/files [
tf/text: file show tf
data: decompress copy/part archive len
archive: skip archive len
write/binary path/:file data
fc/text: reform [n: n + 1 "files"] show fc
]
sf/text: "Decompression complete." show sf
do-events