I did a quick port of exfoliation for someone who wanted to get it to work with 
WeeWX 4/Py3.

You are welcome to try it:
https://github.com/chaunceygardiner/weewx-exfoliation

If you want it to work with the forecast plugin, I have that working with 
WeeWX4/Py3 at:
https://github.com/chaunceygardiner/weewx-forecast


> On Sep 3, 2020, at 12:20 PM, Timothy Buchanan <[email protected]> 
> wrote:
> 
> I have a similar problem with python3 and extension. The index and history 
> pages are being generated. I made the first change listed above, but my index 
> template doesn't have a show_pop. Here is the syslog extract:
> 
> 
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: 
> Generate failed with exception '<class 'TypeError'>'
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: **** 
> Ignoring template /etc/weewx/skins/exfoliation/index.html.tmpl
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: **** 
> Reason: '>' not supported between instances of 'NoneType' and 'int'
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****  
> Traceback (most recent call last):
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
> File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
>   unicode_string = compiled_template.respond()
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
> File 
> "cheetah__etc_weewx_skins_exfoliation_index_html_tmpl_1599160522_6806855_35363.py",
>  line 1380, in respond
> Sep  3 13:15:22 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****  
> TypeError: '>' not supported between instances of 'NoneType' and 'int'
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: 
> Generate failed with exception '<class 'TypeError'>'
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: **** 
> Ignoring template /etc/weewx/skins/exfoliation/forecast.html.tmpl
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: **** 
> Reason: '>' not supported between instances of 'NoneType' and 'int'
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****  
> Traceback (most recent call last):
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
> File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
>   unicode_string = compiled_template.respond()
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
> File "_etc_weewx_skins_exfoliation_forecast_html_tmpl.py", line 384, in 
> respond
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
> File "/usr/lib/python3/dist-packages/Cheetah/Template.py", line 1707, in 
> _handleCheetahInclude
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
>   self._CHEETAH__cheetahIncludes[_includeID].respond(trans)
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****    
> File "_etc_weewx_skins_exfoliation_forecast_table_inc.py", line 530, in 
> respond
> Sep  3 13:15:23 raspberrypi weewx[8261] ERROR weewx.cheetahgenerator: ****  
> TypeError: '>' not supported between instances of 'NoneType' and 'int
> 
>> On Saturday, July 11, 2020 at 4:23:13 PM UTC-6 [email protected] wrote:
>> I changed the first one and all my errors went away.  I’m not sure I was 
>> having the second part of the error.
>> 
>>  
>> 
>>  
>> 
>> Thanks,
>> 
>> Scott KB2EAR
>> 
>> http://weather.kb2ear.net/exfoliation
>> 
>>  
>> 
>>  
>> 
>> From: [email protected] <[email protected]> On Behalf Of Tom 
>> Keffer
>> Sent: Saturday, July 11, 2020 6:07 PM
>> To: weewx-user <[email protected]>
>> Subject: Re: [weewx-user] Issue with exfoliation weewx 4.1.1 and python3 - I 
>> think?
>> 
>>  
>> 
>> For the first error, in file index.html.tmpl, line 226, change this
>> 
>>  
>> 
>> #if $varExists('trend') and $trend.windSpeed.raw is not None
>> 
>>       $get_windspeed_trend($trend.windSpeed.formatted)
>> 
>> #end if
>> 
>>  
>> 
>> to this
>> 
>>  
>> 
>> #if $varExists('trend') and $trend.windSpeed.raw is not None
>> 
>>       $get_windspeed_trend($trend.windSpeed.raw)
>> 
>> #end if
>> 
>>  
>> 
>> For the second error, there are a number of candidates that could be causing 
>> this problem. I'd go with this one. Change this
>> 
>>  
>> 
>> #if $show_pop
>> 
>>         <td class='col-pop'>
>> 
>>   #if $period.pop.raw > 0
>> 
>>           $period.pop.format('%.0f',' ')
>> 
>>   #end if
>> 
>> <br/>
>> 
>>   #if $period.qpf.raw > 0
>> 
>>           $period.qpf.nolabel('%.2f',' ') <img class='pop-img' 
>> src='icons/raindrop.png' />
>> 
>>   #end if
>> 
>> <br/>
>> 
>>   #if $period.qsf.raw > 0
>> 
>>           $period.qsf.nolabel('%.2f',' ') <img class='pop-img' 
>> src='icons/snowflake.png' />
>> 
>>   #end if
>> 
>>         </td>
>> 
>> #end if
>> 
>>  
>> 
>> to this
>> 
>>  
>> 
>> #if $show_pop
>> 
>>         <td class='col-pop'>
>> 
>>   #if $period.pop.raw is not None and $period.pop.raw > 0
>> 
>>           $period.pop.format('%.0f',' ')
>> 
>>   #end if
>> 
>> <br/>
>> 
>>   #if $period.qpf.raw is not None and $period.qpf.raw > 0
>> 
>>           $period.qpf.nolabel('%.2f',' ') <img class='pop-img' 
>> src='icons/raindrop.png' />
>> 
>>   #end if
>> 
>> <br/>
>> 
>>   #if $period.qsf.raw is not None and $period.qsf.raw > 0
>> 
>>           $period.qsf.nolabel('%.2f',' ') <img class='pop-img' 
>> src='icons/snowflake.png' />
>> 
>>   #end if
>> 
>>         </td>
>> 
>> #end if
>> 
>>  
>> 
>> But I could be wrong on that.
>> 
>>  
>> 
>> -tk
>> 
>>  
>> 
>>  
>> 
>> On Thu, Jun 4, 2020 at 6:14 AM Mike Thompson <[email protected]> 
>> wrote:
>> 
>> Hi Fourm & Matt,
>> 
>>  
>> 
>> I'm getting an issue with exfoliation to do with data types the message in 
>> the log is  "Reason: '>' not supported between instances of 'NoneType' and 
>> 'int'"
>> 
>>  
>> 
>> I've just migrated from 3.9.1 on RPI Ib running Wheezy.
>> 
>> Upgraded to 3.9.1 on RPI 1B running Buster with Python 2. All was working OK
>> 
>> Upgraded to 4.1.1 on Python3 and the issue occurred.
>> 
>> As apart of the upgrade to 4.1.1 on Python3 I had to make changes to 
>> alarm.py etc to update python2 code to python3
>> 
>> Installed latest exfoliation (0.45)  and forecast (3.4.0b1) extensions. It 
>> looks like exfoliation has over written my customisations so I think it's 
>> "out of the box"
>> 
>>  
>> 
>> Seasons is working - pages and graphs generate OK.
>> 
>> Forecast seems to be working. Sample pages generated OK, most without data 
>> but UK met office data on forecast-periods page. Time stamp on files in 
>> public_html/forecast are recent i.e post upgrade.
>> 
>> Some Exfoliation pages are generated OK and some not, index and forecast are 
>> not but history, almanac and links are.
>> 
>>  
>> 
>> From syslog it looks like get_windspeed_trend is causing the issue
>> 
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: Generate 
>> failed with exception '<class 'TypeError'>'
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: **** 
>> Ignoring template /home/weewx/skins/exfoliation/index.html.tmpl
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: **** Reason: 
>> '>' not supported between instances of 'str' and 'int'
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****  
>> Traceback (most recent call last):
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "/home/weewx/bin/weewx/cheetahgenerator.py", line 322, in generate
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****      
>> unicode_string = compiled_template.respond()
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "_home_weewx_skins_exfoliation_index_html_tmpl.py", line 1292, in respond
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "_home_weewx_skins_exfoliation_index_html_tmpl.py", line 497, in 
>> __errorCatcher43
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "<string>", line 1, in <module>
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "_home_weewx_skins_exfoliation_index_html_tmpl.py", line 187, in 
>> get_windspeed_trend
>> Jun  4 13:01:27 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****  
>> TypeError: '>' not supported between instances of 'str' and 'int'
>> 
>> from index.html.tmpl;
>> 
>> #def get_windspeed_trend($x)
>> #if $x > 0
>>       &#8679;
>> #elif $x < 0
>>       &#8681;
>> #end if
>> #end def
>> 
>>  
>> 
>> I'm also seeing;
>> 
>> 
>> Jun  4 13:01:32 weepi /weewxd: forecast: ReportThread: _get_stats: '>' not 
>> supported between instances of 'NoneType' and 'float'
>> 
>>  
>> 
>> around 50 of them followed by
>> 
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: Generate 
>> failed with exception '<class 'TypeError'>'
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: **** 
>> Ignoring template /home/weewx/skins/exfoliation/forecast.html.tmpl
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: **** Reason: 
>> '>' not supported between instances of 'NoneType' and 'int'
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****  
>> Traceback (most recent call last):
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "/home/weewx/bin/weewx/cheetahgenerator.py", line 322, in generate
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****      
>> unicode_string = compiled_template.respond()
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "_home_weewx_skins_exfoliation_forecast_html_tmpl.py", line 384, in respond
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "/usr/lib/python3/dist-packages/Cheetah/Template.py", line 1707, in 
>> _handleCheetahInclude
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****      
>> self._CHEETAH__cheetahIncludes[_includeID].respond(trans)
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****    File 
>> "_home_weewx_skins_exfoliation_forecast_table_inc.py", line 538, in respond
>> Jun  4 13:01:34 weepi weewx[8650] ERROR weewx.cheetahgenerator: ****  
>> TypeError: '>' not supported between instances of 'NoneType' and 'int'
>> 
>>  
>> 
>> It may have something to do with changes and extensions I've made over the 
>> years. To be fair, I've just bumped along working this out from first 
>> principles until it worked so it's highly likely I've not implemented 
>> changes correctly
>> 
>> From my weewx.conf the only section regarding exfoliation is;
>> 
>>     [[exfoliation]]
>>         HTML_ROOT = public_html/exfoliation
>>         skin = exfoliation
>>         #radar_local_img = 
>> http://radar.weather.gov/ridge/lite/N0R/BOX_loop.gif
>>         #radar_regional_img = 
>> http://radar.weather.gov/ridge/Conus/Loop/northeast_loop.gif
>>         #radar_national_img = 
>> http://images.intellicast.com/WxImages/Radar/usa.gif
>> 
>>         # MT Addition for forecast and alltime,sevenday
>>         [[[CheetahGenerator]]]
>>             search_list_extensions = user.forecast.ForecastVariables, 
>> user.stats.MyStats
>> 
>>  
>> 
>> I've run with exfoliation commented out in weewx.conf as well as 
>> enabled=false and weewx is running without error
>> 
>>  
>> 
>> Syslog attached.
>> 
>> before 09:35 I was running 3.9.1 on Python 2
>> 
>> after 09:35 4.1.1 on python 3
>> 
>> post 12:36:37 debug is turned on
>> 
>>  
>> 
>> Thanks in Advance
>> 
>> -- 
>> 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/19346a94-d78e-4732-9d6d-36fb7a22ab2e%40googlegroups.com.
>> 
>> -- 
>> 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/CAPq0zEArY3s7nDTX0QnLT8hNzeRsFh%3Dt3QZ-8UYiqXa1dzEFRA%40mail.gmail.com.
>> 
>> 
> 
> -- 
> 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/b43793aa-6d14-4157-8994-560699f86017n%40googlegroups.com.

-- 
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/A66CB86A-A7BE-455E-A60D-09D575F08BBD%40johnkline.com.

Reply via email to