summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rwxr-xr-xlib/Travelynx.pm38
-rw-r--r--lib/Travelynx/Command/database.pm3
-rw-r--r--lib/Travelynx/Command/traewelling.pm4
-rw-r--r--lib/Travelynx/Command/work.pm12
-rw-r--r--lib/Travelynx/Controller/Account.pm13
-rw-r--r--lib/Travelynx/Controller/Traewelling.pm2
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm18
-rw-r--r--lib/Travelynx/Helper/DBDB.pm21
-rw-r--r--lib/Travelynx/Helper/MOTIS.pm20
-rw-r--r--lib/Travelynx/Helper/Traewelling.pm18
-rw-r--r--lib/Travelynx/Model/InTransit.pm34
-rwxr-xr-xlib/Travelynx/Model/Journeys.pm29
-rw-r--r--lib/Travelynx/Model/Stations.pm12
-rw-r--r--lib/Travelynx/Model/Users.pm6
14 files changed, 130 insertions, 100 deletions
diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm
index 0429d5e..529f7fe 100755
--- a/lib/Travelynx.pm
+++ b/lib/Travelynx.pm
@@ -601,14 +601,19 @@ sub startup {
# Lines may serve the same stop several times.
# Keep looking until the scheduled departure
# matches the one passed while checking in.
- if ( $ts and $stopover->scheduled_departure->epoch == $ts ) {
+ if ( $ts
+ and $stopover->scheduled_departure->epoch
+ == $ts )
+ {
last;
}
}
}
if ( not $found_stopover ) {
- $promise->reject("Did not find stopover at '$station' within trip '$train_id'");
+ $promise->reject(
+"Did not find stopover at '$station' within trip '$train_id'"
+ );
return;
}
@@ -640,7 +645,8 @@ sub startup {
};
if ($@) {
- $self->app->log->error("Checkin($uid): INSERT failed: $@");
+ $self->app->log->error(
+ "Checkin($uid): INSERT failed: $@");
$promise->reject( 'INSERT failed: ' . $@ );
return;
}
@@ -652,21 +658,25 @@ sub startup {
for my $coordinate ( $trip->polyline ) {
if ( $coordinate->{stop} ) {
if ( not defined $coordinate->{stop}->{eva} ) {
- die()
+ die();
}
push(
@coordinate_list,
[
- $coordinate->{lon}, $coordinate->{lat},
+ $coordinate->{lon},
+ $coordinate->{lat},
$coordinate->{stop}->{eva}
]
);
- push( @station_list, $coordinate->{stop}->name );
+ push( @station_list,
+ $coordinate->{stop}->name );
}
else {
- push( @coordinate_list, [ $coordinate->{lon}, $coordinate->{lat} ] );
+ push( @coordinate_list,
+ [ $coordinate->{lon}, $coordinate->{lat} ]
+ );
}
}
@@ -680,9 +690,10 @@ sub startup {
}
else {
$polyline = {
- from_eva => ( $trip->stopovers )[0]->stop->{eva},
- to_eva => ( $trip->stopovers )[-1]->stop->{eva},
- coords => \@coordinate_list,
+ from_eva =>
+ ( $trip->stopovers )[0]->stop->{eva},
+ to_eva => ( $trip->stopovers )[-1]->stop->{eva},
+ coords => \@coordinate_list,
};
}
}
@@ -2267,7 +2278,7 @@ sub startup {
my $ret = {
deprecated => \0,
checkedIn => (
- $status->{checked_in}
+ $status->{checked_in}
or $status->{cancelled}
) ? \1 : \0,
comment => $status->{comment},
@@ -2572,7 +2583,6 @@ sub startup {
if ( $seen{$key} ) {
next;
}
-
$seen{$key} = 1;
# direction does not matter at the moment
@@ -2700,8 +2710,8 @@ sub startup {
color => '#673ab7',
opacity => @polylines
? $with_polyline
- ? 0.4
- : 0.6
+ ? 0.4
+ : 0.6
: 0.8,
},
{
diff --git a/lib/Travelynx/Command/database.pm b/lib/Travelynx/Command/database.pm
index 0e87b2a..e264c89 100644
--- a/lib/Travelynx/Command/database.pm
+++ b/lib/Travelynx/Command/database.pm
@@ -3270,7 +3270,8 @@ sub sync_backends_motis {
}
}
- $db->update( 'schema_version', { motis => $Travel::Status::MOTIS::VERSION } );
+ $db->update( 'schema_version',
+ { motis => $Travel::Status::MOTIS::VERSION } );
}
sub setup_db {
diff --git a/lib/Travelynx/Command/traewelling.pm b/lib/Travelynx/Command/traewelling.pm
index ed40371..e4e0134 100644
--- a/lib/Travelynx/Command/traewelling.pm
+++ b/lib/Travelynx/Command/traewelling.pm
@@ -122,12 +122,12 @@ sub push_sync {
my ($status) = @_;
$push_result{ $status->{http} } += 1;
}
- )->catch(
+ )->catch(
sub {
my ($status) = @_;
$push_result{ $status->{http} // 0 } += 1;
}
- )->wait;
+ )->wait;
}
return \%push_result;
diff --git a/lib/Travelynx/Command/work.pm b/lib/Travelynx/Command/work.pm
index 4ff5c9e..9cc0ca1 100644
--- a/lib/Travelynx/Command/work.pm
+++ b/lib/Travelynx/Command/work.pm
@@ -197,10 +197,11 @@ sub run {
for my $stopover ( $journey->stopovers ) {
if ( not defined $stopover->stop->{eva} ) {
- my $stop = $self->app->stations->get_by_external_id(
+ my $stop
+ = $self->app->stations->get_by_external_id(
external_id => $stopover->stop->id,
motis => $entry->{backend_name},
- );
+ );
$stopover->stop->{eva} = $stop->{eva};
}
@@ -220,7 +221,8 @@ sub run {
}
if ( not $found_departure ) {
- $self->app->log->debug("Did not find $dep within trip $train_id");
+ $self->app->log->debug(
+ "Did not find $dep within trip $train_id");
return;
}
@@ -235,7 +237,9 @@ sub run {
);
}
- if ( $found_arrival and $found_arrival->realtime_arrival ) {
+ if ( $found_arrival
+ and $found_arrival->realtime_arrival )
+ {
$self->app->in_transit->update_arrival_motis(
uid => $uid,
journey => $journey,
diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm
index 4c69f91..db0bc61 100644
--- a/lib/Travelynx/Controller/Account.pm
+++ b/lib/Travelynx/Controller/Account.pm
@@ -1145,38 +1145,37 @@ sub backend_form {
$backend->{longname} = $s->{name};
$backend->{homepage} = $s->{homepage};
$backend->{regions} = [ map { $place_map{$_} // $_ }
- @{ $s->{coverage}{regions} // [] } ];
+ @{ $s->{coverage}{regions} // [] } ];
$backend->{has_area} = $s->{coverage}{area} ? 1 : 0;
if ( $backend->{name} eq 'transitous' ) {
- $backend->{regions} = [ 'Weltweit' ];
+ $backend->{regions} = ['Weltweit'];
}
if ( $backend->{name} eq 'RNV' ) {
$backend->{homepage} = 'https://rnv-online.de/';
}
if (
- $s->{coverage}{area}
+ $s->{coverage}{area}
and $s->{coverage}{area}{type} eq 'Polygon'
and $self->lonlat_in_polygon(
$s->{coverage}{area}{coordinates},
[ $user_lon, $user_lat ]
)
- )
+ )
{
push( @suggested_backends, $backend );
}
elsif ( $s->{coverage}{area}
and $s->{coverage}{area}{type} eq 'MultiPolygon' )
{
- for my $s_poly (
- @{ $s->{coverage}{area}{coordinates} // [] } )
+ for my $s_poly ( @{ $s->{coverage}{area}{coordinates} // [] } )
{
if (
$self->lonlat_in_polygon(
$s_poly, [ $user_lon, $user_lat ]
)
- )
+ )
{
push( @suggested_backends, $backend );
last;
diff --git a/lib/Travelynx/Controller/Traewelling.pm b/lib/Travelynx/Controller/Traewelling.pm
index 3cdeff8..6aa789c 100644
--- a/lib/Travelynx/Controller/Traewelling.pm
+++ b/lib/Travelynx/Controller/Traewelling.pm
@@ -29,7 +29,7 @@ sub oauth {
redirect_uri =>
$self->base_url_for('/oauth/traewelling')->to_abs->scheme(
$self->app->mode eq 'development' ? 'http' : 'https'
- )->to_string,
+ )->to_string,
scope => 'read-statuses write-statuses'
}
)->then(
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm
index aa7ee9b..cb78617 100755
--- a/lib/Travelynx/Controller/Traveling.pm
+++ b/lib/Travelynx/Controller/Traveling.pm
@@ -415,7 +415,7 @@ sub homepage {
}
else {
@recent_targets = uniq_by { $_->{external_id_or_eva} }
- $self->journeys->get_latest_checkout_stations( uid => $uid );
+ $self->journeys->get_latest_checkout_stations( uid => $uid );
}
$self->render(
'landingpage',
@@ -667,8 +667,8 @@ sub geolocation {
$self->render_later;
Travel::Status::MOTIS->new_p(
- promise => 'Mojo::Promise',
- user_agent => $self->ua,
+ promise => 'Mojo::Promise',
+ user_agent => $self->ua,
service => $motis_service,
stops_by_coordinate => {
@@ -1148,7 +1148,7 @@ sub station {
timestamp => $timestamp,
lookbehind => 30,
lookahead => 30,
- )
+ );
}
else {
$promise = $self->iris->get_departures_p(
@@ -1206,11 +1206,13 @@ sub station {
elsif ($motis_service) {
@results = map { $_->[0] }
sort { $b->[1] <=> $a->[1] }
- map { [ $_, $_->stopover->departure->epoch ] } $status->results;
+ map { [ $_, $_->stopover->departure->epoch ] }
+ $status->results;
$status = {
- station_eva => $station,
- station_name => $status->{results}->[0]->stopover->stop->name,
+ station_eva => $station,
+ station_name =>
+ $status->{results}->[0]->stopover->stop->name,
related_stations => [],
};
}
@@ -2020,7 +2022,7 @@ sub journey_details {
$delay = sprintf(
'mit %+d ',
(
- $journey->{rt_arrival}->epoch
+ $journey->{rt_arrival}->epoch
- $journey->{sched_arrival}->epoch
) / 60
);
diff --git a/lib/Travelynx/Helper/DBDB.pm b/lib/Travelynx/Helper/DBDB.pm
index 79e9c0b..a310aa3 100644
--- a/lib/Travelynx/Helper/DBDB.pm
+++ b/lib/Travelynx/Helper/DBDB.pm
@@ -61,7 +61,8 @@ sub has_wagonorder_p {
}
}
- $self->{user_agent}->request_timeout(5)->get_p( $url => $self->{header} )
+ $self->{user_agent}->request_timeout(5)
+ ->get_p( $url => $self->{header} )
->then(
sub {
my ($tx) = @_;
@@ -81,7 +82,7 @@ sub has_wagonorder_p {
}
return;
}
- )->catch(
+ )->catch(
sub {
my ($err) = @_;
$self->{log}->debug("${debug_prefix}: n ($err)");
@@ -89,7 +90,7 @@ sub has_wagonorder_p {
$promise->reject;
return;
}
- )->wait;
+ )->wait;
return $promise;
}
@@ -120,7 +121,8 @@ sub get_wagonorder_p {
return $promise;
}
- $self->{user_agent}->request_timeout(5)->get_p( $url => $self->{header} )
+ $self->{user_agent}->request_timeout(5)
+ ->get_p( $url => $self->{header} )
->then(
sub {
my ($tx) = @_;
@@ -139,14 +141,14 @@ sub get_wagonorder_p {
}
return;
}
- )->catch(
+ )->catch(
sub {
my ($err) = @_;
$self->{log}->debug("${debug_prefix}: error ${err}");
$promise->reject($err);
return;
}
- )->wait;
+ )->wait;
return $promise;
}
@@ -163,7 +165,8 @@ sub get_stationinfo_p {
return $promise->resolve($content);
}
- $self->{user_agent}->request_timeout(5)->get_p( $url => $self->{header} )
+ $self->{user_agent}->request_timeout(5)
+ ->get_p( $url => $self->{header} )
->then(
sub {
my ($tx) = @_;
@@ -183,7 +186,7 @@ sub get_stationinfo_p {
$promise->resolve($json);
return;
}
- )->catch(
+ )->catch(
sub {
my ($err) = @_;
$self->{log}->debug("get_stationinfo_p(${eva}): Error ${err}");
@@ -191,7 +194,7 @@ sub get_stationinfo_p {
$promise->reject($err);
return;
}
- )->wait;
+ )->wait;
return $promise;
}
diff --git a/lib/Travelynx/Helper/MOTIS.pm b/lib/Travelynx/Helper/MOTIS.pm
index ee2b10b..d4e1777 100644
--- a/lib/Travelynx/Helper/MOTIS.pm
+++ b/lib/Travelynx/Helper/MOTIS.pm
@@ -50,10 +50,10 @@ sub get_station_by_query_p {
my $promise = Mojo::Promise->new;
Travel::Status::MOTIS->new_p(
- cache => $self->{cache},
- promise => 'Mojo::Promise',
- user_agent => Mojo::UserAgent->new,
- lwp_options => {
+ cache => $self->{cache},
+ promise => 'Mojo::Promise',
+ user_agent => Mojo::UserAgent->new,
+ lwp_options => {
timeout => 10,
agent => $self->{header}{'User-Agent'},
},
@@ -106,10 +106,10 @@ sub get_departures_p {
agent => $self->{header}{'User-Agent'},
},
- service => $opt{service},
- timestamp => $timestamp,
- stop_id => $opt{station_id},
- results => 60,
+ service => $opt{service},
+ timestamp => $timestamp,
+ stop_id => $opt{station_id},
+ results => 60,
);
}
@@ -126,8 +126,8 @@ sub get_trip_p {
promise => 'Mojo::Promise',
user_agent => Mojo::UserAgent->new,
- service => $opt{service},
- trip_id => $opt{trip_id},
+ service => $opt{service},
+ trip_id => $opt{trip_id},
)->then(
sub {
my ($motis) = @_;
diff --git a/lib/Travelynx/Helper/Traewelling.pm b/lib/Travelynx/Helper/Traewelling.pm
index 100a799..66f2a29 100644
--- a/lib/Travelynx/Helper/Traewelling.pm
+++ b/lib/Travelynx/Helper/Traewelling.pm
@@ -78,7 +78,8 @@ sub get_status_p {
$self->{user_agent}->request_timeout(20)
->get_p(
"https://traewelling.de/api/v1/user/${username}/statuses?limit=1" =>
- $header )->then(
+ $header )
+ ->then(
sub {
my ($tx) = @_;
if ( my $err = $tx->error ) {
@@ -150,13 +151,13 @@ sub get_status_p {
}
}
}
- )->catch(
+ )->catch(
sub {
my ($err) = @_;
$promise->reject( { text => "v1/${username}/statuses: $err" } );
return;
}
- )->wait;
+ )->wait;
return $promise;
}
@@ -238,13 +239,13 @@ sub logout_p {
return;
}
}
- )->catch(
+ )->catch(
sub {
my ($err) = @_;
$promise->reject("v1/auth/logout: $err");
return;
}
- )->wait;
+ )->wait;
return $promise;
}
@@ -322,7 +323,8 @@ sub checkin_p {
$self->{user_agent}->request_timeout(20)
->post_p(
"https://traewelling.de/api/v1/trains/checkin" => $header => json =>
- $request )->then(
+ $request )
+ ->then(
sub {
my ($tx) = @_;
if ( my $err = $tx->error ) {
@@ -368,7 +370,7 @@ sub checkin_p {
# on the user status page
return;
}
- )->catch(
+ )->catch(
sub {
my ($err) = @_;
$self->{log}->debug("... $debug_prefix error: $err");
@@ -381,7 +383,7 @@ sub checkin_p {
$promise->reject( { connection => $err } );
return;
}
- )->wait;
+ )->wait;
return $promise;
}
diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm
index 0e3fdc6..cc943b3 100644
--- a/lib/Travelynx/Model/InTransit.pm
+++ b/lib/Travelynx/Model/InTransit.pm
@@ -293,16 +293,20 @@ sub add {
@route,
[
$journey_stopover->stop->name,
- $journey_stopover->stop->{eva} // die('eva not set for stopover'),
+ $journey_stopover->stop->{eva}
+ // die('eva not set for stopover'),
{
- sched_arr => _epoch( $journey_stopover->scheduled_arrival ),
- sched_dep => _epoch( $journey_stopover->scheduled_departure ),
- rt_arr => _epoch( $journey_stopover->realtime_arrival ),
- rt_dep => _epoch( $journey_stopover->realtime_departure ),
+ sched_arr =>
+ _epoch( $journey_stopover->scheduled_arrival ),
+ sched_dep =>
+ _epoch( $journey_stopover->scheduled_departure ),
+ rt_arr => _epoch( $journey_stopover->realtime_arrival ),
+ rt_dep =>
+ _epoch( $journey_stopover->realtime_departure ),
arr_delay => $journey_stopover->arrival_delay,
dep_delay => $journey_stopover->departure_delay,
- lat => $journey_stopover->stop->lat,
- lon => $journey_stopover->stop->lon,
+ lat => $journey_stopover->stop->lat,
+ lon => $journey_stopover->stop->lon,
}
]
);
@@ -384,7 +388,7 @@ sub postprocess {
# Note that the departure stop may be present more than once in @route,
# e.g. when traveling along ring lines such as S41 / S42 in Berlin.
if (
- $ret->{dep_name}
+ $ret->{dep_name}
and $station->[0] eq $ret->{dep_name}
and not($station->[2]{sched_dep}
and $station->[2]{sched_dep} < $ret->{sched_dep_ts} )
@@ -1149,16 +1153,18 @@ sub update_arrival_motis {
@route,
[
$journey_stopover->stop->name,
- $journey_stopover->stop->{eva} // die('eva not set for stopover'),
+ $journey_stopover->stop->{eva}
+ // die('eva not set for stopover'),
{
sched_arr => _epoch( $journey_stopover->scheduled_arrival ),
- sched_dep => _epoch( $journey_stopover->scheduled_departure ),
- rt_arr => _epoch( $journey_stopover->realtime_arrival ),
- rt_dep => _epoch( $journey_stopover->realtime_departure ),
+ sched_dep =>
+ _epoch( $journey_stopover->scheduled_departure ),
+ rt_arr => _epoch( $journey_stopover->realtime_arrival ),
+ rt_dep => _epoch( $journey_stopover->realtime_departure ),
arr_delay => $journey_stopover->arrival_delay,
dep_delay => $journey_stopover->departure_delay,
- lat => $journey_stopover->stop->lat,
- lon => $journey_stopover->stop->lon,
+ lat => $journey_stopover->stop->lat,
+ lon => $journey_stopover->stop->lon,
}
]
);
diff --git a/lib/Travelynx/Model/Journeys.pm b/lib/Travelynx/Model/Journeys.pm
index fff59f9..8efbab2 100755
--- a/lib/Travelynx/Model/Journeys.pm
+++ b/lib/Travelynx/Model/Journeys.pm
@@ -872,8 +872,10 @@ sub get_latest_checkout_stations {
my $res = $db->select(
'journeys_str',
[
- 'arr_name', 'arr_eva', 'arr_external_id', 'train_id',
- 'backend_id', 'backend_name', 'is_dbris', 'is_hafas',
+ 'arr_name', 'arr_eva',
+ 'arr_external_id', 'train_id',
+ 'backend_id', 'backend_name',
+ 'is_dbris', 'is_hafas',
'is_motis'
],
{
@@ -898,11 +900,12 @@ sub get_latest_checkout_stations {
{
name => $row->{arr_name},
eva => $row->{arr_eva},
- external_id_or_eva => $row->{arr_external_id} // $row->{arr_eva},
- dbris => $row->{is_dbris} ? $row->{backend_name} : 0,
- hafas => $row->{is_hafas} ? $row->{backend_name} : 0,
- motis => $row->{is_motis} ? $row->{backend_name} : 0,
- backend_id => $row->{backend_id},
+ external_id_or_eva => $row->{arr_external_id}
+ // $row->{arr_eva},
+ dbris => $row->{is_dbris} ? $row->{backend_name} : 0,
+ hafas => $row->{is_hafas} ? $row->{backend_name} : 0,
+ motis => $row->{is_motis} ? $row->{backend_name} : 0,
+ backend_id => $row->{backend_id},
}
);
}
@@ -1396,7 +1399,7 @@ sub compute_review {
if (
not $most_undelay
or $speedup > (
- $most_undelay->{sched_duration}
+ $most_undelay->{sched_duration}
- $most_undelay->{rt_duration}
)
)
@@ -1669,7 +1672,10 @@ sub compute_stats {
@inconsistencies,
{
conflict => {
- train => ( $journey->{is_motis} ? '' : $journey->{type} ) . ' '
+ train => (
+ $journey->{is_motis} ? '' : $journey->{type}
+ )
+ . ' '
. ( $journey->{line} // $journey->{no} ),
arr => epoch_to_dt( $journey->{rt_arr_ts} )
->strftime('%d.%m.%Y %H:%M'),
@@ -1695,7 +1701,8 @@ sub compute_stats {
$next_departure = $journey->{rt_dep_ts};
$next_id = $journey->{id};
$next_train
- = ( $journey->{is_motis} ? '' : $journey->{type} ) . ' ' . ( $journey->{line} // $journey->{no} ),;
+ = ( $journey->{is_motis} ? '' : $journey->{type} ) . ' '
+ . ( $journey->{line} // $journey->{no} ),;
}
my $ret = {
km_route => $km_route,
@@ -1744,7 +1751,7 @@ sub get_stats {
# checks out of a train or manually edits/adds a journey.
if (
- not $opt{write_only}
+ not $opt{write_only}
and not $opt{review}
and my $stats = $self->stats_cache->get(
uid => $uid,
diff --git a/lib/Travelynx/Model/Stations.pm b/lib/Travelynx/Model/Stations.pm
index 761c5de..6758b93 100644
--- a/lib/Travelynx/Model/Stations.pm
+++ b/lib/Travelynx/Model/Stations.pm
@@ -99,8 +99,8 @@ sub get_backends {
$opt{db} //= $self->{pg}->db;
- my $res = $opt{db}
- ->select( 'backends', [ 'id', 'name', 'iris', 'hafas', 'dbris', 'motis' ] );
+ my $res = $opt{db}->select( 'backends',
+ [ 'id', 'name', 'iris', 'hafas', 'dbris', 'motis' ] );
my @ret;
while ( my $row = $res->hash ) {
@@ -206,12 +206,8 @@ sub add_or_update {
returning *
},
(
- $opt{backend_id},
- $stop->id,
- $stop->name,
- $stop->lat,
- $stop->lon,
- 0,
+ $opt{backend_id}, $stop->id, $stop->name,
+ $stop->lat, $stop->lon, 0,
)
);
diff --git a/lib/Travelynx/Model/Users.pm b/lib/Travelynx/Model/Users.pm
index 10ab17e..1c3692e 100644
--- a/lib/Travelynx/Model/Users.pm
+++ b/lib/Travelynx/Model/Users.pm
@@ -1027,11 +1027,11 @@ sub get_followers {
id => $row->{id},
name => $row->{name},
following_back => (
- $row->{inverse_predicate}
+ $row->{inverse_predicate}
and $row->{inverse_predicate} == $predicate_atoi{follows}
) ? 1 : 0,
followback_requested => (
- $row->{inverse_predicate}
+ $row->{inverse_predicate}
and $row->{inverse_predicate}
== $predicate_atoi{requests_follow}
) ? 1 : 0,
@@ -1103,7 +1103,7 @@ sub get_followees {
id => $row->{id},
name => $row->{name},
following_back => (
- $row->{inverse_predicate}
+ $row->{inverse_predicate}
and $row->{inverse_predicate} == $predicate_atoi{follows}
) ? 1 : 0,
}