;type /usalert to open!
dialog usalert {
title "US Alert Level"
size 580 -19 155 53
option pixels
icon 1, 0 -1 154 41, %hls.jpg, 0
link "close ", 2, 0 40 36 16
link "refresh", 3, 115 40 44 16
}
on *:dialog:usalert:sclick:3:/dialog -x usalert usalert | usalert
on *:dialog:usalert:sclick:2:/dialog -x usalert usalert
alias usalert download www.whitehouse.gov /homeland/index.html
alias download {
var %socket $+(dl,$chr(46),$nopath($2))
if (!$sock(%socket)) {
sockopen %socket $1 80
sockmark %socket HEAD $1 $2
;echo $color(info) -s * Beginning download.
}
else { echo $color(info) -s * Socket already in use. }
}
alias percent return $+($round($calc((100 / $2) * $1),2),%)
on *:SOCKOPEN:dl.*:{
if ($sockerr) { echo $color(info) -s * Error: $sock($sockname).wsmsg | return }
hadd -m ticks $sockname $ticks
var %file = $nopath($gettok($sock($sockname).mark,3,32)), %fullfile = $+(",$mircdir,%file,"), %sckr = sockwrite -n $sockname, %^ = $gettok($sock($sockname).mark,3,32)
;echo $color(info) -s * Creating file and contacting host...
write -c %fullfile
%sckr GET $iif(left(%^,1) != $chr(47),$chr(47) $+ %^,%^) HTTP/1.0
%sckr HOST: $gettok($sock($sockname).mark,2,32)
%sckr ACCEPT: *.*
%sckr $crlf
}
on *:SOCKREAD:dl.*:{
if ($sockerr) {
echo $color(info) -s * Error: $sock($sockname).wsmsg
return
}
var %a
:begin
if ($gettok($sock($sockname).mark,1,32) == head) { sockread %a }
else { sockread &b }
if ($sockbr) {
tokenize 32 $sock($sockname).mark
if ($1 == HEAD) {
if (%a) {
if ($gettok(%a,1,32) == Content-Length:) { var %totsize = $gettok(%a,2,32) }
}
else {
;echo $color(info) -s * Starting download... (Total size: $bytes(%totsize).suf $+ )
sockmark $sockname GET $2- %totsize
}
}
elseif ($1 == GET) {
; Downloading ...
var %file = $+(",$mircdir,$nopath($3),"), %cursize = $file(%file).size
var %totsize = $gettok($sock($sockname).mark,4,32)
;echo $color(info) -s * Downloaded ... $bytes(%cursize).suf ( $+ $percent(%cursize,%totsize) $+ )
bwrite %file -1 &b
}
goto begin
}
}
on *:SOCKCLOSE:dl.*:{
var %ticks = $calc(($ticks - $hget(ticks,$sockname)) /1000)
;echo $color(info) -s * Download of $nopath($gettok($sock($sockname).mark,3,32)) completed in %ticks seconds.
.timerhls 1 1 .rename index.html hls.txt
.timerhls2 1 2 usal
}
alias usal {
if ($read(hls.txt, w, *severe.jpg*)) { /set %hls.jpg $scriptdirsevere.jpg | dialog -ma usalert usalert }
elseif ($read(hls.txt, w, *high.jpg*)) { /set %hls.jpg $scriptdirhigh.jpg | dialog -ma usalert usalert }
elseif ($read(hls.txt, w, *elevated.jpg*)) { /set %hls.jpg $scriptdirelevated.jpg | dialog -ma usalert usalert }
elseif ($read(hls.txt, w, *guarded.jpg*)) { /set %hls.jpg $scriptdirguarded.jpg | dialog -ma usalert usalert }
elseif ($read(hls.txt, w, *low.jpg*)) { /set %hls.jpg $scriptdirlow.jpg | dialog -ma usalert usalert }
else { /echo nothing found! }
.remove hls.txt
.timerusal 1 5 unset %hls.jpg
}
on *:start:/usalert