Thanks Glenn your copy of since.py works with version 4.8.0. https://weather.ubeaut.work/
On Sunday, 2 October 2022 at 21:54:49 UTC+11 Glenn McKechnie wrote: > Looks like I'm still using this once - with WeeWX 4.6.0 > See attached > > On 02/10/2022, Greg from Oz <[email protected]> wrote: > > Hi, > > > > Is there a copy of the since.py that works with the later versions of > > weewx? > > I cannot find a working copy of it anywhere. > > I tried adding the bits that Tom suggested but obviously I didn't do it > > correctly and it didn't work. > > > > Thanks > > > > On Monday, 7 February 2022 at 09:45:55 UTC+11 Glenn McKechnie wrote: > > > >> Thanks Tom, for the explanation and the quick fix. It's applied and > >> working. > >> > >> I'll mull over your explanation, bits of it make sense - I'll need > >> more time for the rest ;-) > >> > >> Thanks again. > >> > >> On 07/02/2022, Tom Keffer <[email protected]> wrote: > >> > The problem here is a little technical, so bear with me. > >> > > >> > The way things work normally is that the default configuration for the > >> > Cheetah generator includes a TimeBinder in the search list. Because a > >> > TimeBinder includes an attribute 'trend', the tag $trend works. > >> > > >> > The problem is that the extension since.py also includes a TimeBinder, > >> but > >> > one that has not been properly initialized. It needs a keyword > argument > >> > "trend". > >> > > >> > Why did it work before, but not now? Because the order of evaluation > of > >> > > >> the > >> > search list changed. Before, it searched built-in objects first, then > >> user > >> > extensions. V4.6 does it the other way around: it searches user > >> extensions > >> > first, then the built-ins. This is to allow overriding the behavior of > >> the > >> > built-in search list, which the since.py extension inadvertently did. > >> > So, > >> > when evaluating the tag $trend, the custom, not properly initialized, > >> > version of TimeBinder is hit first, and the built-in version is never > >> seen. > >> > This re-ordering should have been mentioned in the Upgrade Guide. > >> > > >> > There are two ways to fix: > >> > > >> > 1. Properly initialize the instance of TimeBinder in since.py. > >> > 2. Change the logic of since.py. Frankly, I don't know why it returns > a > >> > TimeBinder at all. It's way more complicated than it needs to be, and > >> > has > >> > the side effect that it's basically overriding all of the tags, > >> > including > >> > such mundane tags as $day, $week, etc. It gets away with this because > >> > its > >> > semantics are identical for these other tags. > >> > > >> > If you want a quick fix, do option #1. Here's the delta > >> > > >> > > >> > --- since.py 2022-02-06 04:59:19.000000000 -0800 > >> > *************** > >> > *** 160,169 **** > >> > > >> > formatter=self.formatter, > >> > > >> > converter=self.converter) > >> > > >> > tspan_binder = NewBinder(db_lookup, > >> > ! timespan.stop, > >> > ! self.generator.formatter, > >> > ! self.generator.converter) > >> > > >> > t2 = time.time() > >> > logdbg2("Since SLE executed in %0.3f seconds" % (t2-t1)) > >> > --- 160,176 ---- > >> > > >> > formatter=self.formatter, > >> > > >> > converter=self.converter) > >> > > >> > + try: > >> > + trend_dict = self.generator.skin_dict['Units']['Trend'] > >> > + except KeyError: > >> > + trend_dict = {'time_delta': 10800, > >> > + 'time_grace': 300} > >> > + > >> > tspan_binder = NewBinder(db_lookup, > >> > ! timespan.stop, > >> > ! self.generator.formatter, > >> > ! self.generator.converter, > >> > ! trend=trend_dict) > >> > > >> > t2 = time.time() > >> > logdbg2("Since SLE executed in %0.3f seconds" % (t2-t1)) > >> > > >> > But, really, since.py should be fixed so that it doesn't override > >> > default > >> > behavior. > >> > > >> > -tk > >> > > >> > > >> > > >> > On Sat, Feb 5, 2022 at 10:21 PM Glenn McKechnie <[email protected] > > > >> > wrote: > >> > > >> >> Just a heads up to anyone out there that uses since.py (used to shift > >> >> the rain window) > >> >> and has upgraded to weewx.4.6.0 > >> >> > >> >> I went through the process (I needed the new lang option) and for the > >> >> life of me couldn't work out why it kept falling over when generating > >> >> various skins. > >> >> > >> >> Switching to a plain skin and adding my cruft back in and lo and > >> >> behold it falls over when since.py is slotted back into skin.conf > >> >> > >> >> skin.conf > >> >> [CheetahGenerator] > >> >> search_list_extensions = user.since.Since > >> >> > >> >> What then happens is that whenever the trend option is called - such > >> >> as in Seasons/current.inc : $trend.barometer.formatted - it raises a > >> >> KeyError pointing at 'trend' as the culprit. > >> >> > >> >> Attached is the script since.py and a file with the errors generated > >> >> by cheetahgenerator, as found in syslog. > >> >> > >> >> It's way beyond my abilities to work out why it happens, but I'd be > >> >> curious to know if it's fixable. :-) > >> >> > >> >> I also hope finding it prevents anyone elses hair loss. :-) > >> >> > >> >> -- > >> >> > >> >> Cheers > >> >> Glenn > >> >> > >> >> rorpi - read only raspberry pi & various weewx addons > >> >> https://github.com/glennmckechnie > >> >> > >> >> -- > >> >> 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/CAAraAzgTEeXkgVGFpcpnKdkcrnVwMtvyn5kJTGBe_Qin8WTnxA%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/CAPq0zEBWJcuAftEafqxYNrEJ0AfFprc-EhfL0oP883GR%2BFxqiA%40mail.gmail.com > >> . > >> > > >> > >> > >> -- > >> > >> > >> Cheers > >> Glenn > >> > >> rorpi - read only raspberry pi & various weewx addons > >> https://github.com/glennmckechnie > >> > > > > -- > > 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/4845d22e-6e79-4f00-bae2-6c205ac29a98n%40googlegroups.com > . > > > > > -- > > > Cheers > Glenn > > rorpi - read only raspberry pi & various weewx addons > https://github.com/glennmckechnie > -- 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/46fe33b6-588f-46cf-b547-9b6dfa2adf9fn%40googlegroups.com.
