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/b139c3c3-a469-4e32-aa41-10f5f359ea3en%40googlegroups.com.

Reply via email to