diff options
author | dakkar <dakkar@thenautilus.net> | 2013-05-23 23:25:05 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2013-05-23 23:25:05 +0100 |
commit | 0370a468d9ff22b47e6eabcb995f68ee997793de (patch) | |
tree | 735b7685fc076035fde8f242b5a2b2ef26b51d53 /forecast.html.tt | |
parent | more sample data (diff) | |
download | HomePanel-0370a468d9ff22b47e6eabcb995f68ee997793de.tar.gz HomePanel-0370a468d9ff22b47e6eabcb995f68ee997793de.tar.bz2 HomePanel-0370a468d9ff22b47e6eabcb995f68ee997793de.zip |
DataBlock slices, better spans and stripes
Diffstat (limited to 'forecast.html.tt')
-rw-r--r-- | forecast.html.tt | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/forecast.html.tt b/forecast.html.tt index 57edfb7..d45e2db 100644 --- a/forecast.html.tt +++ b/forecast.html.tt @@ -1,7 +1,15 @@ [% cur = f.currently; today = f.daily.data.0; - MACRO hours_length BLOCK; - span.stop_time.subtract_datetime(span.start_time).in_units('hours'); + today_start = f.hourly.data.0.time.clone + today_stop = f.hourly.data.0.time.clone.add('days'=>1); + hourly = f.hourly.slice('from', today_start, 'to', today_stop); + MACRO hours_length(span) BLOCK; + d=span.stop_time.subtract_datetime(span.start_time); + v=d.in_units('days','hours'); + v.0 * 24 + v.1; + END; + MACRO time(d) BLOCK; + d.clone.set_time_zone('Europe/London').strftime('%H:%M'); END; -%] <html> @@ -58,10 +66,10 @@ </div> <div class="next-day"> <h2>Next 24 hours</h2> - <span class="icon"><img src="[% icon_for(f.hourly.icon) %]" alt="[% f.hourly.icon %]" /></span> + <span class="icon"><img src="[% icon_for(hourly.icon) %]" alt="[% hourly.icon %]" /></span> <dl class="next-day"> <dt class="summary">Summary:</dt> - <dd class="summary">[% f.hourly.summary %]</dd> + <dd class="summary">[% hourly.summary %]</dd> </dl> </div> <div class="next-week"> @@ -79,28 +87,28 @@ <dt class="summary">Summary:</dt> <dd class="summary">[% today.summary %]</dd> <dt class="temperature min">Min temperature:</dt> - <dd class="temperature min">[% today.temperatureMin %]° <span class="time">[% today.temperatureMinTime.strftime('%H:%M') %]</span></dd> + <dd class="temperature min">[% today.temperatureMin %]° <span class="time">[% time(today.temperatureMinTime) %]</span></dd> <dt class="temperature max">Max temperature:</dt> - <dd class="temperature max">[% today.temperatureMax %]° <span class="time">[% today.temperatureMaxTime.strftime('%H:%M') %]</span></dd> + <dd class="temperature max">[% today.temperatureMax %]° <span class="time">[% time(today.temperatureMaxTime) %]</span></dd> <dt class="sunrise">Sunrise:</dt> - <dd class="sunrise"><span class="time">[% today.sunriseTime.strftime('%H:%M') %]</span></dd> + <dd class="sunrise"><span class="time">[% time(today.sunriseTime) %]</span></dd> <dt class="sunset">Sunset:</dt> - <dd class="sunset"><span class="time">[% today.sunsetTime.strftime('%H:%M') %]</span></dd> + <dd class="sunset"><span class="time">[% time(today.sunsetTime) %]</span></dd> </dl> <div class="timeline"> <div class="summary"> - [% left=0 ;FOR span IN f.hourly.spans_by_string('summary'); - width=3*hours_length(span=span) %] - <span class="stripes" style="width: [% width %]em; left: [% left %]em"><span>[% span.value %] [% span.start_time %] [% span.stop_time %]</span></span> + [% left=0 ;FOR span IN hourly.spans_by_string('summary'); + width=3*hours_length(span) %] + <span class="stripes" style="width: [% width %]em; left: [% left %]em"><span>[% span.value %]</span></span> [% left=left+width; END %] </div> <div class="hours"> - [% left=0; FOR span IN [ 0 .. 23 ] %] - <span class="stripes" style="width: 3em; left: [% left %]em"><span>[% span %]</span></span> + [% left=0; FOR h IN hourly.data; BREAK IF loop.last %] + <span class="stripes" style="width: 3em; left: [% left %]em"><span>[% time(h.time) %]</span></span> [% left=left+3; END %] </div> <div class="temperature"> - [% left=0; FOR h IN f.hourly.data %] + [% left=0; FOR h IN hourly.data; BREAK IF loop.last %] <span class="stripes" style="width: 3em; left: [% left %]em"><span>[% h.temperature %]°</span></span> [% left=left+3; END %] </div> |