enkore / i3pystatus

A complete replacement for i3status
https://i3pystatus.readthedocs.io/
MIT License
445 stars 188 forks source link

weathercom.Weathercom backend broke. #746

Closed crocket closed 5 years ago

crocket commented 5 years ago
2019-05-23 17:37:46,510 [ERROR   ][i3pystatus.weather.weathercom.Weathercom 334] Uncaught error occurred while checking weather. Exception follows:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/i3pystatus/weather/weathercom.py", line 206, in check_weather
    self.parser.get_weather_data(self.forecast_url)
  File "/usr/lib64/python3.6/site-packages/i3pystatus/weather/weathercom.py", line 25, in get_weather_data
    with urlopen(url) as content:
  File "/usr/lib64/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/lib64/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

I think weather.com broke API.

terminalmage commented 5 years ago

I already fixed this a few days ago in https://github.com/enkore/i3pystatus/pull/745. Merged this morning so closing this.

vectorman1 commented 5 years ago

Any possibilities of this still being an issue? I am on a fresh install and am running the example module code from the docs and I still get:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/i3pystatus/weather/weathercom.py", line 207, in check_weather
    self.parser.get_weather_data(self.forecast_url)
  File "/usr/lib/python3.7/site-packages/i3pystatus/weather/weathercom.py", line 25, in get_weather_data
    with urlopen(url) as content:
  File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.7/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.7/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
terminalmage commented 5 years ago

It's definitely not still an issue, I'm using this backend right now.

What do you mean by a "fresh install"?

vectorman1 commented 5 years ago

Now that I installed i3pystatus through pip it seems to work -- the AUR version didn't however. Maybe the AUR version is an old one?

terminalmage commented 5 years ago

i3pystatus stopped doing numbered releases a while ago. If you're installing from the AUR, you are better off installing i3pystatus-git.