X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=src%2FModules%2FWeather.pl;h=bf1c05e017f8a9ddd9868c9c86ee2c6177ac7b66;hb=f7cae48a17d6decd0a9bd997188271daa0a885b1;hp=2cdf25b10dc7e1ae2f2c8484365bfd961d6e18e8;hpb=66cb28e55db2670c68b93f35904d9ed134355708;p=infobot.git diff --git a/src/Modules/Weather.pl b/src/Modules/Weather.pl index 2cdf25b..bf1c05e 100644 --- a/src/Modules/Weather.pl +++ b/src/Modules/Weather.pl @@ -27,9 +27,11 @@ sub Weather { sub queryText { my ($station) = shift; - $station = uc($station); my $result; + $station = uc($station); + $station =~ s/for //i; + if ($no_weather) { return 0; } else { @@ -46,7 +48,7 @@ sub queryText { $ua->timeout(10); my $request = new HTTP::Request('GET', "http://weather.noaa.gov/weather/current/$station.html"); - my $response = $ua->request($request); + my $response = $ua->request($request); if (!$response->is_success) { if ($response->code == 404) { @@ -60,10 +62,11 @@ sub queryText { } $content = $response->content; - $content =~ s|.*?current weather conditions.*?
([^<]*)<.*?||is; + $content =~ s|.*?]*>||is; + #$content =~ s|.*?current weather conditions.*?
([^<]*?)\s*<.*?||is; + $content =~ s|.*?current weather conditions[^<]*(<[^>]+>\s*)+||is; + $content =~ s|([^<]*?)\s*<.*?||is; my $place = $1; - $content =~ s|.*?(?:\s*<[^>]+>)*\s*([^<]+)\s<.*?||is; - $place .= $1; chomp $place; $content =~ s|.*?(?:\s*<[^>]+>)*\s*([^<]+)\s<.*?||is; @@ -72,7 +75,8 @@ sub queryText { $content =~ s|.*?conditions at.*?||is; - $content =~ s|.*?