diff options
| -rwxr-xr-x | lib/Travelynx.pm | 26 | ||||
| -rw-r--r-- | lib/Travelynx/Model/InTransit.pm | 12 | ||||
| -rw-r--r-- | templates/_checked_in.html.ep | 36 | ||||
| -rw-r--r-- | templates/_public_status_card.html.ep | 36 | 
4 files changed, 55 insertions, 55 deletions
| diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 64a1e85..a6080b2 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -1593,21 +1593,17 @@ sub startup {  			for my $station ( @{ $journey->{route_after} } ) {  				my $station_desc = $station->[0]; -				if ( $station->[2]{sched_arr} and $station->[2]{rt_arr} ) { -					$station_desc .= $station->[2]{sched_arr}->strftime(';%s'); -					$station_desc .= $station->[2]{rt_arr}->strftime(';%s'); -					if ( $station->[2]{sched_dep} and $station->[2]{rt_dep} ) { -						$station_desc -						  .= $station->[2]{sched_dep}->strftime(';%s'); -						$station_desc .= $station->[2]{rt_dep}->strftime(';%s'); -					} -					else { -						$station_desc .= ';0;0'; -					} -				} -				else { -					$station_desc .= ';0;0;0;0'; -				} + +				my $sa = $station->[2]{sched_arr}; +				my $ra = $station->[2]{rt_arr} || $station->[2]{sched_arr}; +				my $sd = $station->[2]{sched_dep}; +				my $rd = $station->[2]{rt_dep} || $station->[2]{sched_dep}; + +				$station_desc .= $sa ? $sa->strftime(';%s') : ';0'; +				$station_desc .= $ra ? $ra->strftime(';%s') : ';0'; +				$station_desc .= $sd ? $sd->strftime(';%s') : ';0'; +				$station_desc .= $rd ? $rd->strftime(';%s') : ';0'; +  				push( @route, $station_desc );  			} diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index aec193f..d06b94e 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -270,9 +270,11 @@ sub postprocess {  				if ( $times->{rt_arr} ) {  					$times->{rt_arr}  					  = epoch_to_dt( $times->{rt_arr} ); -					$times->{rt_arr_countdown} -					  = $times->{rt_arr}->epoch - $epoch; +					$times->{arr_delay} +					  = $times->{rt_arr}->epoch - $times->{sched_arr}->epoch;  				} +				$times->{arr} = $times->{rt_arr} || $times->{sched_arr}; +				$times->{arr_countdown} = $times->{arr}->epoch - $epoch;  			}  			if ( $times->{sched_dep}  				and ref( $times->{sched_dep} ) ne 'DateTime' ) @@ -282,9 +284,11 @@ sub postprocess {  				if ( $times->{rt_dep} ) {  					$times->{rt_dep}  					  = epoch_to_dt( $times->{rt_dep} ); -					$times->{rt_dep_countdown} -					  = $times->{rt_dep}->epoch - $epoch; +					$times->{dep_delay} +					  = $times->{rt_dep}->epoch - $times->{sched_dep}->epoch;  				} +				$times->{dep} = $times->{rt_dep} || $times->{sched_dep}; +				$times->{dep_countdown} = $times->{dep}->epoch - $epoch;  			}  		}  	} diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep index 1377db4..e5e0baf 100644 --- a/templates/_checked_in.html.ep +++ b/templates/_checked_in.html.ep @@ -127,19 +127,19 @@  							% if ($station->[0] eq $journey->{arr_name}) {  								% last;  							% } -							% if (($station->[2]{rt_arr_countdown} // 0) > 0 and $station->[2]{rt_arr}) { -								<%= $station->[0] %><br/><%= $station->[2]{rt_arr}->strftime('%H:%M') %> -								% if ($station->[2]{sched_arr} and $station->[2]{sched_arr}->epoch != $station->[2]{rt_arr}->epoch) { -									%= sprintf('(%+d)', ($station->[2]{rt_arr}->epoch - $station->[2]{sched_arr}->epoch ) / 60); +							% if (($station->[2]{arr_countdown} // 0) > 0 and $station->[2]{arr}) { +								<%= $station->[0] %><br/><%= $station->[2]{arr}->strftime('%H:%M') %> +								% if ($station->[2]{arr_delay}) { +									%= sprintf('(%+d)', $station->[2]{arr_delay} / 60);  								% }  								% last;  							% } -							% if (($station->[2]{rt_dep_countdown} // 0) > 0 and $station->[2]{rt_arr} and $station->[2]{rt_dep}) { +							% if (($station->[2]{dep_countdown} // 0) > 0 and $station->[2]{arr} and $station->[2]{dep}) {  								<%= $station->[0] %><br/> -								<%= $station->[2]{rt_arr}->strftime('%H:%M') %> → -								<%= $station->[2]{rt_dep}->strftime('%H:%M') %> -								% if ($station->[2]{sched_dep} and $station->[2]{sched_dep}->epoch != $station->[2]{rt_dep}->epoch) { -									%= sprintf('(%+d)', ($station->[2]{rt_dep}->epoch - $station->[2]{sched_dep}->epoch ) / 60); +								<%= $station->[2]{arr}->strftime('%H:%M') %> → +								<%= $station->[2]{dep}->strftime('%H:%M') %> +								% if ($station->[2]{dep_delay}) { +									%= sprintf('(%+d)', $station->[2]{dep_dely} / 60);  								% }  								% last;  							% } @@ -152,19 +152,19 @@  							% if ($station->[0] eq $journey->{arr_name}) {  								% last;  							% } -							% if (($station->[2]{rt_arr_countdown} // 0) > 0 and $station->[2]{rt_arr}) { -								<%= $station->[0] %><br/><%= $station->[2]{rt_arr}->strftime('%H:%M') %> -								% if ($station->[2]{sched_arr} and $station->[2]{sched_arr}->epoch != $station->[2]{rt_arr}->epoch) { -									%= sprintf('(%+d)', ($station->[2]{rt_arr}->epoch - $station->[2]{sched_arr}->epoch ) / 60); +							% if (($station->[2]{arr_countdown} // 0) > 0 and $station->[2]{arr}) { +								<%= $station->[0] %><br/><%= $station->[2]{arr}->strftime('%H:%M') %> +								% if ($station->[2]{arr_delay}) { +									%= sprintf('(%+d)', $station->[2]{arr_delay} / 60);  								% }  								% last;  							% } -							% if (($station->[2]{rt_dep_countdown} // 0) > 0 and $station->[2]{rt_arr} and $station->[2]{rt_dep}) { +							% if (($station->[2]{dep_countdown} // 0) > 0 and $station->[2]{arr} and $station->[2]{dep}) {  								<%= $station->[0] %><br/> -								<%= $station->[2]{rt_arr}->strftime('%H:%M') %> → -								<%= $station->[2]{rt_dep}->strftime('%H:%M') %> -								% if ($station->[2]{sched_dep} and $station->[2]{sched_dep}->epoch != $station->[2]{rt_dep}->epoch) { -									%= sprintf('(%+d)', ($station->[2]{rt_dep}->epoch - $station->[2]{sched_dep}->epoch ) / 60); +								<%= $station->[2]{arr}->strftime('%H:%M') %> → +								<%= $station->[2]{dep}->strftime('%H:%M') %> +								% if ($station->[2]{dep_delay}) { +									%= sprintf('(%+d)', $station->[2]{dep_delay} / 60);  								% }  								% last;  							% } diff --git a/templates/_public_status_card.html.ep b/templates/_public_status_card.html.ep index 0f7cacd..f031e15 100644 --- a/templates/_public_status_card.html.ep +++ b/templates/_public_status_card.html.ep @@ -88,19 +88,19 @@  						% if ($journey->{arr_name} and $station->[0] eq $journey->{arr_name}) {  							% last;  						% } -						% if (($station->[2]{rt_arr_countdown} // 0) > 0 and $station->[2]{rt_arr}) { -							<%= $station->[0] %><br/><%= $station->[2]{rt_arr}->strftime('%H:%M') %> -							% if ($station->[2]{sched_arr} and $station->[2]{sched_arr}->epoch != $station->[2]{rt_arr}->epoch) { -								%= sprintf('(%+d)', ($station->[2]{rt_arr}->epoch - $station->[2]{sched_arr}->epoch ) / 60); +						% if (($station->[2]{arr_countdown} // 0) > 0 and $station->[2]{arr}) { +							<%= $station->[0] %><br/><%= $station->[2]{arr}->strftime('%H:%M') %> +							% if ($station->[2]{arr_delay}) { +								%= sprintf('(%+d)', $station->[2]{arr_delay} / 60);  							% }  							% last;  						% } -						% if (($station->[2]{rt_dep_countdown} // 0) > 0 and $station->[2]{rt_arr} and $station->[2]{rt_dep}) { +						% if (($station->[2]{dep_countdown} // 0) > 0 and $station->[2]{arr} and $station->[2]{dep}) {  							<%= $station->[0] %><br/> -							<%= $station->[2]{rt_arr}->strftime('%H:%M') %> → -							<%= $station->[2]{rt_dep}->strftime('%H:%M') %> -							% if ($station->[2]{sched_dep} and $station->[2]{sched_dep}->epoch != $station->[2]{rt_dep}->epoch) { -								%= sprintf('(%+d)', ($station->[2]{rt_dep}->epoch - $station->[2]{sched_dep}->epoch ) / 60); +							<%= $station->[2]{arr}->strftime('%H:%M') %> → +							<%= $station->[2]{dep}->strftime('%H:%M') %> +							% if ($station->[2]{dep_delay}) { +								%= sprintf('(%+d)', $station->[2]{dep_delay} / 60);  							% }  							% last;  						% } @@ -113,21 +113,21 @@  						% if ($journey->{arr_name} and $station->[0] eq $journey->{arr_name}) {  							% last;  						% } -						% if (($station->[2]{rt_arr_countdown} // 0) > 0 and $station->[2]{rt_arr}) { +						% if (($station->[2]{arr_countdown} // 0) > 0 and $station->[2]{arr}) {  							Nächster Halt:<br/> -							<%= $station->[0] %><br/><%= $station->[2]{rt_arr}->strftime('%H:%M') %> -							% if ($station->[2]{sched_arr} and $station->[2]{sched_arr}->epoch != $station->[2]{rt_arr}->epoch) { -								%= sprintf('(%+d)', ($station->[2]{rt_arr}->epoch - $station->[2]{sched_arr}->epoch ) / 60); +							<%= $station->[0] %><br/><%= $station->[2]{arr}->strftime('%H:%M') %> +							% if ($station->[2]{arr_delay}) { +								%= sprintf('(%+d)', $station->[2]{arr_delay} / 60);  							% }  							% last;  						% } -						% if (($station->[2]{rt_dep_countdown} // 0) > 0 and $station->[2]{rt_arr} and $station->[2]{rt_dep}) { +						% if (($station->[2]{dep_countdown} // 0) > 0 and $station->[2]{arr} and $station->[2]{dep}) {  							Aktueller Halt:<br/>  							<%= $station->[0] %><br/> -							<%= $station->[2]{rt_arr}->strftime('%H:%M') %> → -							<%= $station->[2]{rt_dep}->strftime('%H:%M') %> -							% if ($station->[2]{sched_dep} and $station->[2]{sched_dep}->epoch != $station->[2]{rt_dep}->epoch) { -								%= sprintf('(%+d)', ($station->[2]{rt_dep}->epoch - $station->[2]{sched_dep}->epoch ) / 60); +							<%= $station->[2]{arr}->strftime('%H:%M') %> → +							<%= $station->[2]{dep}->strftime('%H:%M') %> +							% if ($station->[2]{dep_delay}) { +								%= sprintf('(%+d)', $station->[2]{dep_delay} / 60);  							% }  							% last;  						% } | 
