Description of problem: When I install the gdesklets-goodweather package to Fedora 14 and add the desklet to my desktop, it fails to load any data, regardless of what location I configure in it. Reproducibility: always Steps to Reproduce: 1. install the gdesklets-goodweather package 2. add the desklet to the desktop 3. configure any location Actual results: It doesn't display any data, just says "loading" for forever. Expected results: It should display the actual weather data. Solution: After some searching on the net, I found out that weather.com changed the method to get weather data so this is why GoodWeather doesn't work. To get it work, open /usr/share/gdesklets/Sensors/GoodWeather/__init__.py and change the declaration of WEATHER_SOURCE (beginning on line 42) to this one: WEATHER_SOURCE = "http://xoap.weather.com/weather/local/" \ "%(weather_code)s?cc=*&dayf=5&prod=xoap&" \ "link=xoap&par=1003832479&key=bb12936706a2d601" After this change, the desklet starts to work correctly. I think it would be best to apply this to the current version found in the repo, so if would work for everyone.
Created attachment 476367 [details] Patch to __init__.py that makes it work correctly. I discovered another problem. The desklet fails to parse metric data (acquired with &unit=m in the URL), so I created a patch that fixes it by requesting data in fahrenheit. After this, the app is able to convert it successfully to celsius.
Created attachment 479754 [details] Fix regular expressions, fix wind speed output
I debugged this problem as well and it turns out that it's not at all a problem with celsius vs. fahrenheit. Actually, the __init__.py script neglects to take negative values into account in the regular expressions used to scan the weather data. This breaks the entire matching routine. The reason that it works for you when using fahrenheit is simply because the chance to get negative values is lower. If the fahrenheit value drops below 0, the script will again start to fail. However, if you add potential matches for + or - in the right spots, it works with all temperatures. I attached a patch as well. It fixes the broken regular expressions. It also fixes the "Wind Spped" string and it redefines the output for the wind speed to add the wind direction as well. So that reads now W: 14 kph NE instead of just S: 14 kph Given that, I replaced the "W:" for the chill with a "C:" since that makes more sense, IMHO. I also turned the order of high and low temperature of the day since that order is more natural (day:night). Btw., I also had the problem that the original WEATHER_SOURCE definition didn't work for me. However, with the changes in my patch the original WEATHER_SOURCE definition works for me again. Other than that, if the WEATHER_SOURCE definition from the original report is preferred, I suggest to take out the "prod=xoap&link=xoap&" substring. The only result of that substring in the URL is to add advertisment to the output. Hope that helps, Corinna
Created attachment 479755 [details] Replace "N/A" in temperature output with just a dash Optional patch to replace the "N/A" string in the output of temperatures with just a dash. The reason for this patch is that the "N/A" string is overly outstanding and takes too much room and attention. If a temperature is not available it should be sufficient to leave the space "almost" blank. Corinna
Thank you Corinna for your work. Now if only we could ask the packager to include your patches.
Created attachment 479793 [details] Take 2: Fix regular expressions, fix wind speed output, fix incorrect integer comparison This is take 2 of the patch to fix the goodweather __init__.py script. As it turned out, the script has another bug when it compares the low and high temperature values. The variables are strings, and the comparision neglects to convert the strings to integer values before comparing them. This leads to the unfortunate result that "-1" is less than "-7". This second version of the patch is a replacement for patch 479754, which additionally fixes the comparison of high and low by casting the variables to int when testing them. Corinna
What do we do with bug reports to apparently orphaned packages? The problems reported in this bugzilla entry still exist in Fedora 15 and apparently nobody cares. I even wrote an email to the guy who this bug report is assiged to, as well as to extras-qa to ask how to move forward. I got no reply in both cases. Instead, the entirly unchanged gdesklet-goodweather package made it into F15. My former entries into this bugzilla entry contain all patches necessary to fix the issues. Corinna
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Corinna, I take over ownership of this package since I did not have a response of the original owner. Would you like to co-maintain this extension. Regards,
Hi Luya, thanks for the offer, but I'm already maintaining quite a few packages. I would be glad if my patches could go in to improve the GoodWeather desklet, but I'm not feeling up to the task to maintain yet another package. Thanks, Corinna
Hi Luya, I just saw that the package is still unchanged for Fedora 16. Is there any problem why my patches so that they can't go in to improve the GoodWeather desklet? The patches are pretty straightforward and can be applied cleanly to the current sources. Corinna
Hi Corinna, Sorry for the long delay because I had other priority and lost track about change after cleaning my email. Your patches work greatly. Updates will come shortly.
gdesklets-goodweather-0.31-7.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/gdesklets-goodweather-0.31-7.fc15
gdesklets-goodweather-0.31-7.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/gdesklets-goodweather-0.31-7.fc16
gdesklets-goodweather-0.31-7.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/gdesklets-goodweather-0.31-7.fc14
Package gdesklets-goodweather-0.31-7.fc15: * should fix your issue, * was pushed to the Fedora 15 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing gdesklets-goodweather-0.31-7.fc15' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2011-15565 then log in and leave karma (feedback).
Hi Luya, the package works fine for me, but there is a packaging bug. There are odd files called /usr/share/gdesklets/Sensors/GoodWeather/__init__.py.__init__.py /usr/share/gdesklets/Sensors/GoodWeather/__init__.py.__init__.pyc /usr/share/gdesklets/Sensors/GoodWeather/__init__.py.__init__.pyo /usr/share/gdesklets/Sensors/GoodWeather/weather.py.weather They should be removed before moving from test into release. Thanks, Corinna
gdesklets-goodweather-0.31-8.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/gdesklets-goodweather-0.31-8.fc14
gdesklets-goodweather-0.31-8.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/gdesklets-goodweather-0.31-8.fc15
gdesklets-goodweather-0.31-8.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/gdesklets-goodweather-0.31-8.fc16
gdesklets-goodweather-0.31-8.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.
The bug as described is fixed, thanks, however there is still an old bug, that also existed in F13 if not before: if I suspend the computer, and then wake it up, the weather desklet does not update the weather any more. It looks like the thread that does that somehow never wakes up. This is repeatable for me on i686. Any ideas? The workaround is to right-click and choose "Restart desklet" - this works.
(In reply to comment #22) > The bug as described is fixed, thanks, however there is still an old bug, that > also existed in F13 if not before: if I suspend the computer, and then wake it > up, the weather desklet does not update the weather any more. Could you open a new bug report in regards? Thanks.
(In reply to comment #23) > Could you open a new bug report in regards? Thanks. Created bug #755162. Thanks.
gdesklets-goodweather-0.31-8.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
gdesklets-goodweather-0.31-8.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.