No problem at all.
There are actually two different classes of errors in the log.
*Syntax error*
The current time is being explicitly formatted with a tag something
like $current.dateTime.format(%A,
%B %d, %Y %H%M). Note the lack of quotation marks around the format. It
should be $current.dateTime.format("%A, %B %d, %Y %H%M"). Here's an
example in the log:
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator:
Evaluation of template /etc/weewx/skins/Seasons/statistics.html.tmpl failed
with exception '<class 'SyntaxError'>'
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
Ignoring template /etc/weewx/skins/Seasons/statistics.html.tmpl
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
Reason: invalid syntax (<string>, line 1)
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
Traceback (most recent call last):
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/share/weewx/weewx/cheetahgenerator.py", line 338, in generate
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
unicode_string = compiled_template.respond()
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "_etc_weewx_skins_Seasons_statistics_html_tmpl.py", line 178, in
respond
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/lib/python3/dist-packages/Cheetah/Template.py", line 1712, in
_handleCheetahInclude
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
self._CHEETAH__cheetahIncludes[_includeID].respond(trans)
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "_etc_weewx_skins_Seasons_titlebar_inc.py", line 161, in respond
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "_etc_weewx_skins_Seasons_titlebar_inc.py", line 78, in
__errorCatcher2
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "<string>", line 1
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
VFN(VFFSL(SL,"current.dateTime",True),"format",False)(format_string=%A,
%B %d, %Y %H%M)
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
^
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
SyntaxError: invalid syntax
Nowhere in the Seasons skin is the format "%A, %B %d, %Y %H%M" used, with
or without the quotation marks.
A common point between all these errors is the template include file
"Seasons/titlebar.inc". I modified my version and replaced
<p class="lastupdate">$current.dateTime</p>
with
<p class="lastupdate">$current.dateTime.format(%A, %B %d, %Y %H%M)</p>
and got precisely the same error:
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
Evaluation of template
/home/tkeffer/weewx-data/skins/Seasons/statistics.html.tmpl failed with
exception '<class 'SyntaxError'>'
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** Ignoring template
/home/tkeffer/weewx-data/skins/Seasons/statistics.html.tmpl
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** Reason: invalid syntax (<string>, line 1)
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** Traceback (most recent call last):
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** File "/home/tkeffer/git/weewx/src/weewx/cheetahgenerator.py", line
337, in generate
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** unicode_string = compiled_template.respond()
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** File
"_home_tkeffer_weewx_data_skins_Seasons_statistics_html_tmpl.py", line 178,
in respond
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** File
"/home/tkeffer/git/weewx/.venv-3.13/lib/python3.13/site-packages/Cheetah/Template.py",
line 1712, in _handleCheetahInclude
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** self._CHEETAH__cheetahIncludes[_includeID].respond(trans)
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** File "_home_tkeffer_weewx_data_skins_Seasons_titlebar_inc.py", line
161, in respond
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** File "_home_tkeffer_weewx_data_skins_Seasons_titlebar_inc.py", line
78, in __errorCatcher2
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** File "<string>", line 1
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** VFN(VFFSL(SL,"current.dateTime",True),"format",False)(%A, %B %d,
%Y %H%M)
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** ^
Aug 09 11:31:27 NUC-black weectl[1241232]: ERROR weewx.cheetahgenerator:
**** SyntaxError: invalid syntax
Is it possible that you changed "Seasons/titlebar.inc" and forgot the
quotation marks?
*strftime() error*
The second class of errors look like this:
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator:
Evaluation of template /etc/weewx/skins/Seasons/rss.xml.tmpl failed with
exception '<class 'TypeError'>'
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
Ignoring template /etc/weewx/skins/Seasons/rss.xml.tmpl
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
Reason: strftime() argument 1 must be str, not list
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
Traceback (most recent call last):
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/share/weewx/weewx/cheetahgenerator.py", line 338, in generate
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
unicode_string = compiled_template.respond()
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "_etc_weewx_skins_Seasons_rss_xml_tmpl.py", line 144, in respond
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/share/weewx/weewx/cheetahgenerator.py", line 780, in filter
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
filtered = str(val)
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/share/weewx/weewx/units.py", line 1083, in __str__
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
return self.toString()
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
~~~~~~~~~~~~~^^
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/share/weewx/weewx/units.py", line 1076, in toString
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
s = self.formatter.toString(self.value_t, self.context,
addLabel=addLabel,
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
useThisFormat=useThisFormat,
None_string=None_string,
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
localize=localize)
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/share/weewx/weewx/units.py", line 734, in toString
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
s = self._to_string(val_t, context, addLabel, useThisFormat,
None_string, localize)
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
File "/usr/share/weewx/weewx/units.py", line 784, in _to_string
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
val_str = time.strftime(self.time_format_dict.get(context,
DEFAULT_TIME_FORMAT),
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
time.localtime(t))
Aug 08 04:30:15 babcock weewxd[279844]: ERROR weewx.cheetahgenerator: ****
TypeError: strftime() argument 1 must be str, not list
WeeWX allows customization of how times are formatted. You typically do
this by modifying / adding entries in weewx.conf under [[[[TimeFormats]]]].
I suspect that you modified the "current" entry by adding a comma. This
would cause the parser for ConfigObj to interpret it as a list. For example,
[[[[TimeFormats]]]]
# day = %H:%M
# week = %H:%M on %A
# month = %d-%b-%Y %H:%M
# year = %d-%b-%Y %H:%M
# rainyear = %d-%b-%Y %H:%M
# current = %d-%b-%Y %H:%M
was changed to
[[[[TimeFormats]]]]
# day = %H:%M
# week = %H:%M on %A
# month = %d-%b-%Y %H:%M
# year = %d-%b-%Y %H:%M
# rainyear = %d-%b-%Y %H:%M
current = %d-%b-%Y, %H:%M
If you're going to do this, you should add quotation marks:
[[[[TimeFormats]]]]
# day = %H:%M
# week = %H:%M on %A
# month = %d-%b-%Y %H:%M
# year = %d-%b-%Y %H:%M
# rainyear = %d-%b-%Y %H:%M
current = "%d-%b-%Y, %H:%M"
Added in postscript: I see that John Kline has given you essentially the
same answer, except far more succinctly than my overly wordy response!
-tk
On Sun, Aug 9, 2026 at 8:56 AM [email protected] <[email protected]>
wrote:
> Thank you. Sorry I'm so awkward here. I have read many but never posted
> before. Here is the weewxd log from this morning.
> I hope I got it tight this time.
>
> On Saturday, August 8, 2026 at 4:22:04 PM UTC-7 Tom Keffer wrote:
>
>> I don't know, but could you set debug=1, restart weewx, let it run
>> through the first reporting cycle, then post the log. There just isn't
>> enough here to make a diagnosis.
>>
>> On Sat, Aug 8, 2026 at 4:09 PM [email protected] <[email protected]>
>> wrote:
>>
>>> After updating 2 of the 5 weewx weather servers the Cheetah generator
>>> fails to create html files. Here's the log. It claims there is a syntax
>>> error and errors out all the reports
>>>
>>> 08 17:00:15 babcock weewxd[410964]: ERROR weewx.cheetahgenerator: ****
>>> Reason: invalid syntax (<string>, line 1)
>>> Aug 08 17:00:15 babcock weewxd[410964]: ERROR weewx.cheetahgenerator:
>>> **** Ignoring template /etc/weewx/skins/Seasons/index.html.tmpl
>>> Aug 08 17:00:15 babcock weewxd[410964]: ERROR weewx.cheetahgenerator:
>>> Evaluation of template /etc/weewx/skins/Seasons/index.html.tmpl failed with
>>> exception '<class 'SyntaxError'>'
>>> Aug 08 17:00:15 babcock weewxd[410964]: INFO weewx.manager: Added record
>>> 2026-08-08 17:00:00 MDT (1786230000) to daily summary in 'weewx.sdb'
>>> Aug 08 17:00:15 babcock weewxd[410964]: INFO weewx.manager: Added record
>>> 2026-08-08 17:00:00 MDT (1786230000) to database 'weewx.sdb'
>>>
>>> This error sounds familiar to me but I can't find anything on it. The
>>> template files are normal. and Cheetah makes the .png files but no html for
>>> the pages
>>>
>>> I have removed and re-installed weewx on two machines (Pi 4 and a Pi 5)
>>> and still have issues. What have I missed?
>>>
>>> --
>>> 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 visit
>>> https://groups.google.com/d/msgid/weewx-user/aed73623-7a6f-48c1-bd5a-32c44e330896n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/weewx-user/aed73623-7a6f-48c1-bd5a-32c44e330896n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> 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 visit
> https://groups.google.com/d/msgid/weewx-user/ead1f50a-fe29-4b7b-92e0-8bd6a7f92893n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-user/ead1f50a-fe29-4b7b-92e0-8bd6a7f92893n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
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 visit
https://groups.google.com/d/msgid/weewx-user/CAPq0zEAz2v8PFCnkNaP5HpmVazcj2u%2BmuXFjOrtYiMf87pWnwA%40mail.gmail.com.