on *:SOCKREAD:price.*:{
var %read | sockread -f %read
tokenize 32 $htmlfree(%read)
if (($1-) || ( == %read)) {
if ($1-) {
if (viewing* iswm $1-) { hadd -m $sockname results $2 }
if ($regex(%read,/^
(.*)<\/td>$/i)) {
if ($hget($sockname,counter)) hinc $sockname counter 1
else hadd -m $sockname counter 1
hadd -m $sockname citem $regml(1)
}
if ($regex(%read,/^ | (.*)<\/td>$/i)) hadd -m $sockname cprice $regml(1)
if ($regex(%read,/^ | (.*)<\/a><\/td>$/i)) {
hadd -m $sockname ccat $regml(1)
hadd -m $sockname loopdone $hget($sockname,counter)
hadd -m $sockname $hget($sockname,counter) $c2($hget($sockname,citem)) $c1(|) $c2($hget($sockname,cprice)) $c1(|) $c2($hget($sockname,ccat))
}
}
if (( == %read) || (($hget($sockname,counter) == 5) && ($hget($sockname,loopdone) == 5))) {
if (!$hget($sockname,counter)) {
$hget($sockname,disp) $c1(No results found for:) $c2($tcase($replace($hget($sockname,item),+,$chr(32))))
hfree $sockname
sockclose $sockname
halt
}
var %a = 0
$hget($sockname,disp) $c1(Results for) $c2($+($tcase($replace($hget($sockname,item),+,$chr(32))),$c1(:))) $c3($hget($sockname,results)) $c1($chr(40)) $+ $c2(returning $hget($sockname,counter)) $+ $c1($chr(41))
while (%a < $hget($sockname,counter)) {
inc %a
$hget($sockname,disp) $c3(%a) $+ . $hget($sockname,%a)
}
hfree $sockname
sockclose $sockname
}
}
}
alias -l tcase {
var %a = 0
while (%a < $numtok($1,32)) { inc %a | var %line = %line $upper($mid($gettok($1,%a,32),1,1)) $+ $right($gettok($1,%a,32),-1) }
return %line
}
alias -l htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
} |