- if forecast
- m.reply forecast
- @forecast_cache[loc] = {}
- @forecast_cache[loc][:forecast] = forecast
- @forecast_cache[loc][:date] = forecast_date
- else
- m.reply "Couldn't find forecast for #{loc}"
+ end
+ begin
+ l = LatLong.new
+ f = Forecast.new(*l.get_lat_long(loc))
+ forecast,forecast_date = f.forecast
+ rescue => err
+ m.reply err
+ end
+ if forecast
+ m.reply forecast
+ @cache_mutex.synchronize do
+ @forecast_cache[loc] = {
+ :forecast => forecast,
+ :date => forecast_date
+ }