All pastes #64183 Raw Edit

Mine

public text v1 · immutable
#64183 ·published 2006-06-11 09:46 UTC
rendered paste body
;/getweather <ZipCode|City>
alias getweather {
  if (!$1) return
  var %tmpr $r(1,10000)
  .sockclose getw $+ %tmpr | .sockopen getw $+ %tmpr weather.latimes.com 80
  .sockmark getw $+ %tmpr /cgi-bin/findweather/getForecast?query= $+ $replace($1-,$chr(32),+)
}
on *:sockopen:getw*:{ 
  var %sw .sockwrite -n $sockname
  %sw POST $sock($sockname).mark HTTP/1.1
  %sw Host: $sock($sockname).ip
  %sw Connection: Close
  %sw $crlf
}
on *:sockread:getw*:{ 
  sockread %tmpd
  if ($regex(%tmpd, pwsvariable="humidity" english="" metric="" value=".*")) { if ($regex(%tmpd, <nobr><b>(.*)<\/b><\/nobr>)) set -u5 % $+ $sockname $+ .hum $regml(1) }
  elseif ($regex(%tmpd, pwsvariable="windspeedmph")) && (!% [ $+ [ $sockname ] $+ ] .wstop) { set -u5 % $+ $sockname $+ .wstop 1 | set -u5 % $+ $sockname $+ .wind1 1 | return  }
  elseif (% [ $+ [ $sockname ] $+ ] .wind1) { set -u5 % $+ $sockname $+ .wind %tmpd | unset % [ $+ [ $sockname ] $+ ] .wind1 }
  elseif ($regex(%tmpd, <title>(.*)</title>)) { set -u5 % $+ $sockname $+ .loc $gettok($regml(1),1,44) $+ , $gettok($gettok($regml(1),2,44),1,40) }
  elseif ($regex(%tmpd, <td style="border-bottom: 1px solid #CCC;">(.*)<\/td>)) && (a href= !isin $regml(1)) && (!% [ $+ [ $sockname ] $+ ] .fore1) { set -u5 % $+ $sockname $+ .fore $regml(1) | set -u5 % $+ $sockname $+ .fore1 1 }
  elseif ($regex(%tmpd, <nobr><b>(.*)<\/b>&nbsp;&#176;F<\/nobr>)) && (!% [ $+ [ $sockname ] $+ ] .temp1) { set -u5 % $+ $sockname $+ .temp $regml(1) $+ °F | set -u5 % $+ $sockname $+ .temp1 1 }
  elseif ($regex(%tmpd, <nobr><b>(.*)<\/b>&nbsp;&#176;C<\/nobr>)) && (%temp1) && (!% [ $+ [ $sockname ] $+ ] .temp2) { set -u5 % $+ $sockname $+ .temp % [ $+ [ $sockname ] $+ ] .temp $regml(1) $+ °C | set -u5 % $+ $sockname $+ .temp2 1 }
}
on *:sockclose:getw*:{ 
  if (*Weather Underground* iswm % [ $+ [ $sockname ] $+ ] .loc) { echo -a Couldnt find the location you entered. | return }
  notice $me Location: % [ $+ [ $sockname ] $+ ] .loc
  notice $me Forecast: % [ $+ [ $sockname ] $+ ] .fore
  notice $me Humidity: % [ $+ [ $sockname ] $+ ] .hum
  notice $me Temperature: % [ $+ [ $sockname ] $+ ] .temp
  notice $me Wind: % [ $+ [ $sockname ] $+ ] .wind
}