All pastes #429543 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-04-08 08:33 UTC
rendered paste body
on $*:TEXT:/^[@!]urban/Si:#:{
  if ($2) {
    var %sname = $+(urban,.,$ticks)
    hadd -m %sname disp $iif($left($1,1) == !,.notice $nick,msg $chan)
    hadd -m %sname term $2
    sockopen %sname parsers.freehostia.com 80
  }
}
on *:SOCKOPEN:urban.*:{
  sockwrite -nt $sockname GET /parsers/urban.php?term= $+ $hget($sockname,term)  HTTP/1.1
  sockwrite -nt $sockname HOST: parsers.freehostia.com $+ $crlf $+ $crlf
}
on *:SOCKREAD:urban.*:{
  var %read | sockread -f %read
  tokenize 32 %read
  if ($1 == define:) {
    $hget($sockname,disp) [URBAN] $tcase($replace($hget($sockname,term),+,$chr(32))) $+ : $2-
    hadd -m $sockname results $2-
  }
  if ($1 == extra:) {
    var %a = 0
    while ($1 == extra:) {
      inc %a
      if ($len($2-) >= 1) var %line = %line $+(%a,.) $2-
      sockread -f %read
      tokenize 32 %read
    }
  }
  if ($1 == END) {
    if (!$hget($sockname,results)) $hget($sockname,disp) [URBAN] $tcase($replace($hget($sockname,term),+,$chr(32))) $+ : no results found.
    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
}