diff options
| -rwxr-xr-x | bin/db-fakedisplay | 38 | ||||
| -rw-r--r-- | 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 <station> <platform>'; +	say 'Usage: db-fakedisplay <station> <platforms ...>';  	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 @@  	</style>  </head>  <body> + +<TMPL_LOOP platform> +  <div class="display"> +<div class="platform"> +<TMPL_VAR platform> +</div> + +<TMPL_IF train>  <div class="time">  <TMPL_VAR time>  </div> @@ -81,14 +100,20 @@  <div class="destination">  <TMPL_VAR destination>  </div> -<div class="platform"> -<TMPL_VAR platform> -</div>  <TMPL_IF info>  <div class="info">  <TMPL_VAR info>  </div>  </TMPL_IF> +<TMPL_ELSE> +<div class="no-data"> +Bitte Ansage beachten  </div> +</TMPL_IF> + +</div> <!-- display --> + +</TMPL_LOOP> +  </body>  </html> | 
