From f5b52ba5f5c6391a498a242b782f24252aef6bb7 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 13 Jul 2011 14:36:50 +0200 Subject: Support multiple platforms --- bin/db-fakedisplay | 38 ++++++++++++++++++++++++-------------- share/template.html | 37 +++++++++++++++++++++++++++++++------ 2 files changed, 55 insertions(+), 20 deletions(-) diff --git a/bin/db-fakedisplay b/bin/db-fakedisplay index 7d7aec5..f9a4831 100755 --- a/bin/db-fakedisplay +++ b/bin/db-fakedisplay @@ -14,16 +14,16 @@ our $VERSION = '0.00'; sub show_help { my ($exit_status) = @_; - say 'Usage: db-fakedisplay '; + say 'Usage: db-fakedisplay '; exit $exit_status; } -if (@ARGV != 2) { +if (@ARGV < 2) { show_help(1); } -my ($station, $platform) = @ARGV; +my ($station, @platforms) = @ARGV; my $template_file = dist_file('db-fakedisplay', 'template.html'); my $template = HTML::Template->new( filename => $template_file); @@ -31,20 +31,30 @@ my $status = Travel::Status::DE::DeutscheBahn->new( station => $station ); -my $info = first { $_->platform eq $platform } $status->results; - -if (not defined $info) { - say STDERR 'Got no departures for that platform'; - exit 1; +my @params; + +for my $platform (@platforms) { + my $info = first { $_->platform eq $platform } $status->results; + + if (not defined $info) { + push(@params, { + platform => $platform + }); + next; + } + + push(@params, { + time => $info->time, + train => $info->train, + via => [ map { { stop => $_ } } $info->route_interesting(3) ], + destination => $info->destination, + platform => $info->platform, + info => $info->info, + }); } $template->param( - time => $info->time, - train => $info->train, - via => [ map { { stop => $_ } } $info->route_interesting(3) ], - destination => $info->destination, - platform => $info->platform, - info => $info->info, + platform => \@params, ); say $template->output; diff --git a/share/template.html b/share/template.html index f66ec6e..764d949 100644 --- a/share/template.html +++ b/share/template.html @@ -11,9 +11,10 @@ color: white; font-family: Sans-Serif; font-weight: bold; - position: absolute; - left: 1em; - top: 1em; + position: relative; + margin-left: 1em; + margin-top: 1em; + float: left; width: 28em; height: 4.5em; border: 0.7em solid #000066; @@ -24,6 +25,12 @@ position: absolute; } + div.no-data { + top: 0.5em; + left: 1em; + font-size: 2em; + } + div.time { top: 0em; left: 0em; @@ -42,6 +49,10 @@ height: 1em; } + div.via span { + margin-right: 0.4em; + } + div.destination { top: 1.2em; left: 2.9em; @@ -66,7 +77,15 @@ + + +
+
+ +
+ +
@@ -81,14 +100,20 @@
-
- -
+ +
+Bitte Ansage beachten
+
+ +
+ +
+ -- cgit v1.2.3