Didn't get the magic google-fu until after I posted.  There's a very 
specific example shown for exactly what I wanted to do 
at https://weewx.com/docs/5.1/custom/sle/#adding-tag-seven_day.  

Now, I'd like to do a "Last Week" page for $week(weeks_ago=1), just to have 
the two.  But I'll mess with that later. 

On Sunday, March 30, 2025 at 3:05:12 PM UTC-4 Andrew McGinnis wrote:

> I'm trying to get a template modified to pull data from essentially 
> $span(week_delta=1).  There's two sections in the template, one a 
> valuesCard(), the other is chartCard().  The logic of the template goes 
> like this:
> <main>
>   <div class="container-fluid d-flex-xxl">
>
>     <div class="row my-4 temprow align-content-start">
>       #for $x in $Extras.Appearance.values_order
>
>       #if $x == "ET"
>         #if $span(week_delta=1).ET.has_data and 
> $span(week_delta=1).ET.sum.raw is not None and 
> $span(week_delta=1).ET.sum.raw > 0.0
>           $valuesCard('ET')
>         #end if
>       #else
>         $valuesCard($x)
>       #end if
>
>       #end for
>     </div>
>
>     <hr class="my-4 rowdivider">
>
>     <div class="row mt-5 mb-4 graphrow align-content-start">
>       #for $x in $Extras.Appearance.charts_order
>
>       #if $x == "ET"
>         #if $week.ET.has_data and $week.ET.sum.raw is not None and 
> $week.ET.sum.raw > 0.0
>           $chartCard($x, $x + 'chart')
>         #end if
>       #else
>         $chartCard($x, $x + 'chart')
>       #end if
>
>       #end for
>     </div>
>
>   </div>
> </main>
>
> The charts code runs a for loop that uses 
> #for $record in $span($week_delta=1).spans(interval=current_interval)
>
> But the valuesCard does not.  Everything is referenced via some form 
> of $getVar('week.' + name + '.aggregation').  Here's the code:
> #def valuesCard($name)
>   #if $getVar('week.' + name + '.has_data')
>         #if $name == specific thing
>         ...
>         #else
>         <div class="row">
>           <div class="col-3 text-muted font-small lo-text">
>             $getVar('week.' + name + '.min') <br>
>             ($getVar('week.' + name + 
> '.mintime').format($Extras.Formatting.datetime))
>           </div>
>           <div class="col-6">
>             <h4 class="h2-responsive">$getVar('week.' + name + '.avg')</h4>
>           </div>
>           <div class="col-3 text-muted font-small hi-text">
>             $getVar('week.' + name + '.max') <br>
>             ($getVar('week.' + name + 
> '.maxtime').format($Extras.Formatting.datetime))
>           </div>
>         </div>
>
> for any of the 'specific thing' items, I can hardcode 
> $span(week_delta=1).obs.aggregation.  But the #else block will not evaluate 
> using $span, or $timespan via a specific '#set timespan = 
> $span(week_delta=1)' within the def block.  $week(weeks_ago=1) doesn't do 
> what I want in terms of trailing 7 days, but even that one wasn't getting 
> it done when I went to just make a second template for 
> lastweek.html.tmpl....  I've tried doing $getattr("$timespan", "$name").agg 
> without success, as well as stripping the quotes to just be 
> $getattr($timespan, $name).agg, stil without success.
>
> Is there a simple enough way to run a template that will pull values from 
> a $span() timeframe, without individually coding every observation?
>

-- 
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/362abcc8-07de-4b01-887d-529db25730d1n%40googlegroups.com.

Reply via email to