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

Beat Wolf asraniel at fryx.ch
Sun Sep 13 23:40:15 CEST 2009



> On 2009-05-15 16:49:12, Shawn Starr wrote:
> > For the BBC ion, It looks fine. But I think maybe we should create a general purpose library for all of these things instead of using the dataengines? Seems we should have a libplasma-utils.so library that contains all sorts of reusable functions?
> > 
> > Otherwise....
> > 
> > SHIP IT!

i think this patch was never commited, anyboddy knows what happend?


- Beat


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


On 2009-05-15 15:59:05, Andrew Coles wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/684/
> -----------------------------------------------------------
> 
> (Updated 2009-05-15 15:59:05)
> 
> 
> 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.  This code has been reused from the time DataEngine - so we're not importing lots of new code at this point.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/time/CMakeLists.txt 968518 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/time/solarposition.h 968518 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/time/time_solar_export.h PRE-CREATION 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/CMakeLists.txt 968518 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_bbcukmet.h 968518 
>   /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_bbcukmet.cpp 968518 
> 
> 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).  Has been fine for well over a week, becoming increasingly more useful as sunset pushes towards 10pm.
> 
> 
> Thanks,
> 
> Andrew
> 
>



More information about the Plasma-devel mailing list