Commute stats: count days, not journeys
This commit is contained in:
parent
0a87135e35
commit
94ea5a089f
2 changed files with 26 additions and 23 deletions
|
@ -534,36 +534,38 @@ sub commute {
|
||||||
);
|
);
|
||||||
|
|
||||||
my %journeys_by_month;
|
my %journeys_by_month;
|
||||||
|
my %count_by_month;
|
||||||
my $total = 0;
|
my $total = 0;
|
||||||
|
|
||||||
|
my $prev_doy = 0;
|
||||||
for my $journey ( reverse @journeys ) {
|
for my $journey ( reverse @journeys ) {
|
||||||
my $month = $journey->{rt_departure}->month;
|
my $month = $journey->{rt_departure}->month;
|
||||||
if (
|
if (
|
||||||
$filter_type eq 'exact'
|
(
|
||||||
and ( $journey->{to_name} eq $station
|
$filter_type eq 'exact' and ( $journey->{to_name} eq $station
|
||||||
or $journey->{from_name} eq $station )
|
or $journey->{from_name} eq $station )
|
||||||
|
)
|
||||||
|
or (
|
||||||
|
$filter_type eq 'substring'
|
||||||
|
and ( $journey->{to_name} =~ m{\Q$station\E}
|
||||||
|
or $journey->{from_name} =~ m{\Q$station\E} )
|
||||||
|
)
|
||||||
|
or (
|
||||||
|
$filter_type eq 'regex'
|
||||||
|
and ( $journey->{to_name} =~ m{$station}
|
||||||
|
or $journey->{from_name} =~ m{$station} )
|
||||||
|
)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
push( @{ $journeys_by_month{$month} }, $journey );
|
push( @{ $journeys_by_month{$month} }, $journey );
|
||||||
$total++;
|
|
||||||
}
|
my $doy = $journey->{rt_departure}->day_of_year;
|
||||||
elsif (
|
if ( $doy != $prev_doy ) {
|
||||||
$filter_type eq 'substring'
|
$count_by_month{$month}++;
|
||||||
and ( $journey->{to_name} =~ m{\Q$station\E}
|
$total++;
|
||||||
or $journey->{from_name} =~ m{\Q$station\E} )
|
}
|
||||||
)
|
|
||||||
{
|
$prev_doy = $doy;
|
||||||
push( @{ $journeys_by_month{$month} }, $journey );
|
|
||||||
$total++;
|
|
||||||
}
|
|
||||||
elsif (
|
|
||||||
$filter_type eq 'regex'
|
|
||||||
and ( $journey->{to_name} =~ m{$station}
|
|
||||||
or $journey->{from_name} =~ m{$station} )
|
|
||||||
)
|
|
||||||
{
|
|
||||||
push( @{ $journeys_by_month{$month} }, $journey );
|
|
||||||
$total++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -575,6 +577,7 @@ sub commute {
|
||||||
template => 'commute',
|
template => 'commute',
|
||||||
with_autocomplete => 1,
|
with_autocomplete => 1,
|
||||||
journeys_by_month => \%journeys_by_month,
|
journeys_by_month => \%journeys_by_month,
|
||||||
|
count_by_month => \%count_by_month,
|
||||||
total_journeys => $total,
|
total_journeys => $total,
|
||||||
months => [
|
months => [
|
||||||
qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember)
|
qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember)
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
% for my $i (0 .. $#{$months}) {
|
% for my $i (0 .. $#{$months}) {
|
||||||
<tr>
|
<tr>
|
||||||
<td><%= $months->[$i] %></td>
|
<td><%= $months->[$i] %></td>
|
||||||
<td><%= scalar @{$journeys_by_month->{$i+1} // []} %></td>
|
<td><%= $count_by_month->{$i+1} // 0 %></td>
|
||||||
</tr>
|
</tr>
|
||||||
% }
|
% }
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
Loading…
Reference in a new issue