Review Request: Fix the 0600GMT=sunrise, 1800GMT=sunset bug in the BBC Weather Ion

Petri Damstén petri.damsten at gmail.com
Sun May 10 13:00:05 CEST 2009



> On 2009-05-09 18:03:39, Aaron Seigo wrote:
> > what version of the GPL is it licensed under? the source code you got this from doesn't say... that would need to be clarified. also, is there overlap here with the sun/moon calcs in the time engine?

Yes, it does the same calculations that time engine does. weatherlib/lcd weather uses time engine to do day/night for sources that don't have condition icon at all, but I guess this could be done also in dataengine. Can dataengines use other dataengines?


- Petri


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/684/#review1100
-----------------------------------------------------------


On 2009-05-09 16:41:15, Andrew Coles wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/684/
> -----------------------------------------------------------
> 
> (Updated 2009-05-09 16:41:15)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> To give an icon depicting the current weather, the BBC UK Met. Office backend decides whether or not it is day or night using a simple rule: if it's after 0600GMT but before 1800GMT, it is daytime; otherwise, it's night time.  This causes two known issues:
> 
> i) For people in the UK, the weather icons indicate night even though sunset is not until well after 2000GMT at this time of year
> ii) For people outside the UK, day and night are set to an approximation of what they are in the UK.  So, for instance, for people in New York, the weather icon goes to night at lunchtime.
> 
> The attached diff fixes this bug by calculating the actual sunrise/sunset times for the weather location, and using /these/ to decide whether it's day or night.  How is this done?  Whilst the BBC don't provide sunrise/sunset time in the current observations, they do provide latitude and longitude information.  Given we know:
> 
> i) The date
> ii) The latitude/longitude
> 
> ...we can then calculate sunrise and sunset times using a bit of maths.  If you look, the diffs for the ion itself are very small: just enough to handle the lat/long information, and then calls to sunrise/sunset calculation to decide whether it's day or night.  The sunrise/sunset calculation - existing mature GPLed code - has been put into weatherutils.h/.cpp, as other ions may need this information too.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_bbcukmet.h 965571 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_bbcukmet.cpp 965571 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/weatherutils.h 965571 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/weatherutils.cpp 965571 
> 
> Diff: http://reviewboard.kde.org/r/684/diff
> 
> 
> Testing
> -------
> 
> I use the BBC weather ion for my weather data, so I tested it for my current location (fine) and a few others from around the world (also fine).
> 
> 
> Thanks,
> 
> Andrew
> 
>



More information about the Plasma-devel mailing list