lib/barometer/query/services/noaa_station_id.rb in barometer-0.9.6 vs lib/barometer/query/services/noaa_station_id.rb in barometer-0.9.7
- old
+ new
@@ -13,12 +13,18 @@
_parse_content(api.get)
end
def self._parse_content(content)
doc = Nokogiri::HTML.parse(content)
- if doc && links = doc.search(".current-conditions-extra a")
- sid_link = links.detect{|link| link.attr("href").match(/sid=(.*)&/)}
- sid_link.attr("href").match(/sid=(.*?)&/)[1]
+
+ if doc
+ extra_links = doc.search(".current-conditions-extra a")
+
+ if sid_link = extra_links.detect{|link| link.attr('href').match(/sid=(.*)&/)}
+ sid_link.attr('href').match(/sid=(.*?)&/)[1]
+ elsif three_day_link = extra_links.detect{|link| link.text.match(/3 Day History/)}
+ three_day_link.attr('href').match(/\/([A-Za-z]*?)\.html/)[1]
+ end
end
rescue
nil
end
end