Good, I have submitted a PR for the change to the repo owner. Gary
On Thursday, 7 May 2020 17:32:49 UTC+10, Greg from Oz wrote: > > Hi Gary, > > I add the highlighted text you suggested into line 277 > of gauge-data.txt.tmpl > so it in now like this: > #if $hour.rain.sum.raw is not None and $hour.rain.sum.raw > $hourlyrainTH > and I had no errors and the gauges have now appeared. > > So it works. I don't think I could have worked that one out by myself. > > Hopefully this will help someone else as well. I will let you know if > anything else happens but so far so good. > > Thanks > > > > On Thursday, 7 May 2020 17:03:06 UTC+10, gjr80 wrote: >> >> As you are no doubt aware by now tracking down python errors that occur >> in a template (as distinct from python errors in a SLE or the WeeWX code >> base) can be a real pain as we can't reconcile the line number given in the >> error message with any source code. The following line tells us the error >> is in some in-line python code in the gauge-data.txt.tmpl template: >> >> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >> File "_etc_weewx_skins_ss_gauge_data_txt_tmpl.py", line 339, in respond >> >> If the error was in an SLE or the WeeWX code base we would have a nicely >> named (and known) .py (eg mySLE.py or cheetahgenerator.py) file rather >> than the cryptic name above. We can't use the line number from >> _etc_weewx_skins_ss_gauge_data_txt_tmpl.py as it is a temporary file >> created by Cheetah that we have no access to. The only thing we can use >> is the error message text, in your case: >> >> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >> TypeError: '>' not supported between instances of 'NoneType' and 'int' >> >> That message tells us a few things. We know that we have an error in an >> expression involving '>' (greater than). As it turns out > appears in the >> template only twice, at lines 69 and 277: >> >> #if $h > 0 >> >> and >> >> #if $hour.rain.sum.raw > $hourlyrainTH >> >> We also know the left hand side is equating to None (the cause of the >> error) and the right hand side of the comparison is equating to an integer. >> If we look at line 69 if $h was None that would throw the error we are >> getting (0 in considered an int). $h is calculated at the line 68 and >> indirectly involves lines 66 and 67: >> >> #set $dp_K = $current.dewpoint.degree_C.raw + 273.16 >> #set $e = 6.11 * math.exp(5417.7530 * ((1/273.16) - 1/$dp_K)) >> #set $h = 0.5555 * ($e - 10.0) >> >> We know $dp_K is not None; if it was we would get and error on line 66 >> where $dp_K is calculated (None + 273.16). Therefore we know $h cannot >> be None. So line 69 is not the source of the error. >> >> If we look at line 277 to get the error we are seeing $hour.rain.sum.raw >> would need to be None and $hourlyrainTH would need to be an int. >> $hourlyrainTH is initialised to 0 at line 274, so $hourlyrainTH could be >> well be an int. Could $hour.rain.sum.raw be None, quite possible if >> there is no rain data (as distinct from there being data but it is 0) for a >> full hour sometime today. So it looks like we have found the problem line. >> How to fix it? Given the purpose of that piece of that piece of code is to >> find the hour of the highest rainfall today we can just put another >> conditional in there so we skip hours with no rainfall data, eg (not >> tested): >> >> #for $hour in $day.hours >> #if $hour.rain.sum.raw is not None and $hour.rain.sum.raw > >> $hourlyrainTH >> #set $hourlyrainTH = $hour.rain.sum.raw >> >> Now if $hour.rain.sum.raw is None the first conditional will cause >> execution to skip the rest of the if statement avoiding the problematic '>'. >> >> Apologies this was somewhat long winded, but I thought it a perfect >> opportunity to highlight one of the (few) techniques for tracking down >> in-line python errors in templates. >> >> Gary >> >> On Thursday, 7 May 2020 09:52:07 UTC+10, Greg from Oz wrote: >>> >>> I can live without the gauges. Below is the error: >>> >>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Running >>> report 'SteelSeries' >>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Found >>> configuration file /etc/weewx/skins/ss/skin.conf for report 'SteelSeries' >>> May 7 09:35:24 jed165 weewx[2390] INFO weewx.reportengine: Copied 0 >>> files to /var/www/html/weather/ss >>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.cheetahgenerator: Using >>> search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.S >>> tation', 'weewx.cheetahgenerator.Current', >>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', >>> 'weewx.cheetahgenerator.Extras'] >>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.manager: Daily summary >>> version is 2.0 >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: >>> Generate failed with exception '<class 'TypeError'>' >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>> Ignoring template /etc/weewx/skins/ss/gauge-data.txt.tmpl >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>> Reason: '>' not supported between instances of 'NoneType' and 'int' >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>> Traceback (most recent call last): >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>> File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in genera >>> te >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>> unicode_string = compiled_template.respond() >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>> File "_etc_weewx_skins_ss_gauge_data_txt_tmpl.py", line 339, in respon >>> d >>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>> TypeError: '>' not supported between instances of 'NoneType' and 'int' >>> >> -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/9055c81f-e90c-4fd2-9bfa-04350f04f2f2%40googlegroups.com.
