where is this code from? when is it being run?  

Originally you were trying to amend xstats - which effectively makes extra 
tags become available to the cheetah template engine

I gave a method of generating the required data without needing additional 
24 hour tags, by using existing tags available to the cheetah template 
engine.

You have now come up with some code which appears to be processing records 
obtained from somewhere other than directly from the weewx database and 
appending the output somewhere else.

Being in the dark somewhat my answer is "I do not know"

Sorry - cannot help more - I do not know where the code comes from, when it 
is run or how it is used, so cannot answer.  Sorry





On Friday, 18 May 2018 14:54:36 UTC+3, Lorin Tremblay wrote:
>
> So not being a coder or someone that know how to code....
> How do you add it to this where the question mark are?
>
>         *if* record.get(*'rainRate'*) *is* *not* None:
>
>            * # Rainfall (in hundredths of an inch) in the last hour*
>
>             data.append(*'r%03.f'* % (record[*'rainRate'*] * 100))
>
>
> #       *if* record.get(*'?????'*) *is* *not* None:
>
> #          * # Rainfall (in hundredths of an inch) last 24hrs*
>
> #            data.append(*'p%03.f'* % (record[*'?????'*] * 100))
>
>
>         *if* record.get(*'rain'*) *is* *not* None:
>
>            * # Rainfall (in hundredths of an inch) since midnight*
>
>             data.append(*'P%03.f'* % (record[*'rain'*] * 100))
>
>
> Thanks for your help andrew!
>
>
>
> On Thursday, May 17, 2018 at 9:50:38 PM UTC-4, Andrew Milner wrote:
>>
>> you could just use span with a day delta:
>>
>> eg
>> $span($day_delta=1).rain.sum for the rain total for previous 24 hours 
>> according to the customisation guide
>> or
>> $span($day_delta=1).outTemp.avg for the average temperature during 
>> previous 24 hours
>>
>>
>>
>> On Friday, 18 May 2018 01:09:48 UTC+3, Lorin Tremblay wrote:
>>>
>>> Hi!
>>>
>>> Trying to modify the xstats to add the last 24hrs to stats.
>>>
>>> here is the modification that I have made, but obviously not being a 
>>> coder there is one or more mistake, can anyone help me sort it out?
>>>
>>> "*#*
>>>
>>> *#    Copyright (c) 2009-2015 Tom Keffer *
>>>
>>> *#*
>>>
>>> *#    See the file LICENSE.txt for your full rights.*
>>>
>>> *#*
>>>
>>> *"""Extended stats based on the xsearch example*
>>>
>>>
>>> *This search list extension offers extra tags:*
>>>
>>>
>>> *  'alltime':    All time statistics.*
>>>
>>>
>>> *  '24_hrs':  Statistics for the last 24 hours.* 
>>>
>>>
>>> *  'seven_day':  Statistics for the last seven days.* 
>>>
>>>
>>> *  'thirty_day': Statistics for the last thirty days.*
>>>
>>>
>>> *You can then use tags such as $alltime.outTemp.max for the all-time max*
>>>
>>> *temperature, or $seven_day.rain.sum for the total rainfall in the last 
>>> seven*
>>>
>>> *days, or $thirty_day.wind.max for maximum wind speed in the past thirty 
>>> days.*
>>>
>>> *"""*
>>>
>>> *import* datetime
>>>
>>> *import* time
>>>
>>>
>>> *from* weewx.cheetahgenerator *import* SearchList
>>>
>>> *from* weewx.tags *import* TimespanBinder
>>>
>>> *from* weeutil.weeutil *import* TimeSpan
>>>
>>>
>>> *class* ExtendedStatistics(SearchList):
>>>
>>>     
>>>
>>>     *def** __init__*(self, generator):
>>>
>>>         SearchList.__init__(self, generator)
>>>
>>>   
>>>
>>>     *def** get_extension_list*(self, timespan, db_lookup):
>>>
>>>         *"""Returns a search list extension with additions.*
>>>
>>>
>>> *        timespan: An instance of weeutil.weeutil.TimeSpan. This holds*
>>>
>>> *                  the start and stop times of the domain of valid 
>>> times.*
>>>
>>>
>>> *        db_lookup: Function that returns a database manager given a*
>>>
>>> *                   data binding.*
>>>
>>> *        """*
>>>
>>>
>>>        * # First, create a TimespanBinder object for all time. This one 
>>> is easy*
>>>
>>>        * # because the object timespan already holds all valid times to 
>>> be*
>>>
>>>        * # used in the report.*
>>>
>>>         all_stats = TimespanBinder(timespan,
>>>
>>>                                    db_lookup,
>>>
>>>                                    context=*'alltime'*,
>>>
>>>                                    formatter=self.generator.formatter,
>>>
>>>                                    converter=self.generator.converter)
>>>
>>>         
>>>
>>>        * # Now use a similar process to get statistics for the last 24 
>>> hours.*
>>>
>>>         hour_dt = datetime.date.fromtimestamp(timespan.stop) - 
>>> datetime.timedelta(hour=24)
>>>
>>>         hour_ts = time.mktime(hour_dt.timetuple())
>>>
>>>         24_hours_stats = TimespanBinder(TimeSpan(hour_ts, timespan.stop),
>>>
>>>                                           db_lookup,
>>>
>>>                                           context=*'24_hrs'*,
>>>
>>>                                           
>>> formatter=self.generator.formatter,
>>>
>>>                                           
>>> converter=self.generator.converter)
>>>
>>>
>>>        * # Now create a TimespanBinder for the last seven days. This 
>>> one we*
>>>
>>>        * # will have to calculate. First, calculate the time at 
>>> midnight, seven*
>>>
>>>        * # days ago. The variable week_dt will be an instance of 
>>> datetime.date.*
>>>
>>>         week_dt = datetime.date.fromtimestamp(timespan.stop) - 
>>> datetime.timedelta(weeks=1)
>>>
>>>         week_ts = time.mktime(week_dt.timetuple())
>>>
>>>         seven_day_stats = TimespanBinder(TimeSpan(week_ts, 
>>> timespan.stop),
>>>
>>>                                          db_lookup,
>>>
>>>                                          context=*'seven_day'*,
>>>
>>>                                          
>>> formatter=self.generator.formatter,
>>>
>>>                                          
>>> converter=self.generator.converter)
>>>
>>>
>>>        * # Now use a similar process to get statistics for the last 30 
>>> days.*
>>>
>>>         days_dt = datetime.date.fromtimestamp(timespan.stop) - 
>>> datetime.timedelta(days=30)
>>>
>>>         days_ts = time.mktime(days_dt.timetuple())
>>>
>>>         thirty_day_stats = TimespanBinder(TimeSpan(days_ts, 
>>> timespan.stop),
>>>
>>>                                           db_lookup,
>>>
>>>                                           context=*'thirty_day'*,
>>>
>>>                                           
>>> formatter=self.generator.formatter,
>>>
>>>                                           
>>> converter=self.generator.converter)
>>>
>>>
>>>         *return* [{*'alltime'*: all_stats,
>>>
>>>                  *'24_hrs'*: 24_hours_stats,
>>>
>>>                  *'seven_day'*: seven_day_stats,
>>>
>>>                  *'thirty_day'*: thirty_day_stats}]
>>>
>>>
>>> *# For backwards compatibility:*
>>>
>>> ExtStats = ExtendedStatistics
>>> "
>>>
>>>

-- 
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 weewx-user+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to