X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Fweather.rb;h=5da949e4d8787e6532ad3dd91bbd67451d0cfea2;hb=2e33012eb5eb8cf121059d06f07f6950141deccc;hp=4f89e08d37cf83fbe6d3610547bcd51fffac3b33;hpb=c6b7a60b7cca32037372bedbf36587e4e250e430;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/weather.rb b/data/rbot/plugins/weather.rb index 4f89e08d..5da949e4 100644 --- a/data/rbot/plugins/weather.rb +++ b/data/rbot/plugins/weather.rb @@ -67,6 +67,10 @@ private end class WeatherPlugin < Plugin + + Config.register Config::BooleanValue.new('weather.advisory', + :default => true, + :desc => "Should the bot report special weather advisories when any is present?") def help(plugin, topic="") case topic @@ -248,25 +252,30 @@ class WeatherPlugin < Plugin end def wu_check_special(xml) - if spec_match = xml.match(%r{]*>([^<]+)}) + specials = [] + # We only scan the first half to prevent getting the advisories twice + xml[0,xml.length/2].scan(%r{]*>([^<]+)}) do special = { :url => "http://mobile.wunderground.com"+$1, - :special => $2.dup + :type => $2.dup, + :special => $3.dup } + spec_rx = Regexp.new("(?:.+?)