All pastes #765983 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-11-08 15:06 UTC
rendered paste body
alias mezeg { set %mezeg $1 | sockopen mezeg weather.walla.co.il 80 | .timer 1 3 sockclose mezeg }
on *:SOCKOPEN:mezeg:{
  if ($sockerr == 0) {
    var %a = sockwrite -tn mezeg
    %a GET / HTTP/1.1
    %a Host: weather.walla.co.il
    %a Connection: keep-alive
    %a Accept: */*
    %a User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
    %a
  }
}
on *:SOCKREAD:mezeg:{
  if (!$sockerr) {
    var %var
    sockread %var
    if (%mezeg isin %var) && (<tr><td style="padding:4px 4px 4px 4p isin %var) {
      msg $active %mezeg $+ : $remove($gettok(%var,11,$asc(>)),&deg;</span) עד $remove($gettok(%var,7,$asc(>)),&deg;</span) מעלות
    }
  }
}




alias walla {
  sockclose walla
  sockopen walla news.walla.co.il 80
}
on *:sockopen:walla:{
  var %a = sockwrite -n $sockname
  %a GET / HTTP/1.1
  %a Host: news.walla.co.il
  %a Keep-Alive: 300
  %a Connection: keep-alive
  %a 
}
on *:sockread:walla:{
  var %data
  sockread %data
  while $sockbr {
    if %walla {
      noop $regex(%data,/<span class=w1>(.+?)<\/span>/)
      var %time = $regml(1)
      noop $regex(%data,/<span><a href="(.+?)" .+?>(.+?)<\/a>/)
      var %link = http://news.walla.co.il/ $+ $regml(1)
      if $regml(2) != %news {
        set %news $regml(2)
        msg %wallachan [13 News Walla  ]   %news  <>   $+  %link  $+   ( %time $+ )
        unset %news
      }
      unset %walla
    }
    if <div id="gNewsA"> == %data { set %walla 1 }
    sockread %data
  }
}
menu channel {
  Walla-News $iif($timer(walla),off,on) $+ :{
    if !$timer(walla) { 
      set %wallachan $chan
      var %n = $?="How often should I check? (in minutes)"
      timerwalla 0 $iif($calc(%n *60),$ifmatch,180) walla
    }
    else { timerwalla off | unset %walla chan }
  }
}