summaryrefslogtreecommitdiff
path: root/cgi/index.pl
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2011-10-30 11:34:35 +0100
committerDaniel Friesel <derf@finalrewind.org>2011-10-30 11:34:35 +0100
commitfbabb4e97410884c911dafabcbf33493427ab698 (patch)
tree687aeb2da67d272f67cb1a4b1fa30518767a5648 /cgi/index.pl
parentb9e6f97704f219837270910f159692f2bbe18608 (diff)
cleanup
Diffstat (limited to 'cgi/index.pl')
-rw-r--r--cgi/index.pl136
1 files changed, 69 insertions, 67 deletions
diff --git a/cgi/index.pl b/cgi/index.pl
index d2c5217..8c8dcdb 100644
--- a/cgi/index.pl
+++ b/cgi/index.pl
@@ -11,7 +11,7 @@ use Travel::Status::DE::VRR;
our $VERSION = '0.00';
sub get_results_for {
- my ($city, $stop) = @_;
+ my ( $city, $stop ) = @_;
my $cache = Cache::File->new(
cache_root => '/tmp/vrr-fake',
@@ -21,9 +21,11 @@ sub get_results_for {
my $results = $cache->thaw("${city} _ ${stop}");
if ( not $results ) {
- my $status
- = Travel::Status::DE::VRR->new(place => $city, name => $stop);
- $results = [ [$status->results], $status->errstr ];
+ my $status = Travel::Status::DE::VRR->new(
+ place => $city,
+ name => $stop
+ );
+ $results = [ [ $status->results ], $status->errstr ];
$cache->freeze( "${city} _ ${stop}", $results );
}
@@ -31,41 +33,41 @@ sub get_results_for {
}
sub handle_request {
- my $self = shift;
- my $city = $self->stash('city');
- my $stop = $self->stash('stop');
+ my $self = shift;
+ my $city = $self->stash('city');
+ my $stop = $self->stash('stop');
- $self->stash( title => 'vrr-fakedisplay' );
- $self->stash( version => $VERSION );
+ $self->stash( title => 'vrr-fakedisplay' );
+ $self->stash( version => $VERSION );
- $self->stash( params => $self->req->params->to_string);
+ $self->stash( params => $self->req->params->to_string );
$self->stash( height => 50 );
- $self->stash( width => 180);
+ $self->stash( width => 180 );
$self->render(
'main',
- city => $city,
- stop => $stop,
- version => $VERSION,
- title => "departures for ${city} ${stop}",
+ city => $city,
+ stop => $stop,
+ version => $VERSION,
+ title => "departures for ${city} ${stop}",
);
}
sub shorten_destination {
- my ($dest, $city) = @_;
+ my ( $dest, $city ) = @_;
$dest =~ s{ ^ $city \s }{}x;
- if (length($dest) > 20) {
- $dest =~ s{^Dortmund}{DO} or
- $dest =~ s{^Duisburg}{DU} or
- $dest =~ s{^Düsseldorf}{D} or
- $dest =~ s{^Essen}{E} or
- $dest =~ s{^Gelsenkirchen}{GE} or
- $dest =~ s{^Mülheim}{MH};
+ if ( length($dest) > 20 ) {
+ $dest =~ s{^Dortmund}{DO}
+ or $dest =~ s{^Duisburg}{DU}
+ or $dest =~ s{^Düsseldorf}{D}
+ or $dest =~ s{^Essen}{E}
+ or $dest =~ s{^Gelsenkirchen}{GE}
+ or $dest =~ s{^Mülheim}{MH};
}
- $dest = substr($dest, 0, 20);
+ $dest = substr( $dest, 0, 20 );
return $dest;
}
@@ -75,60 +77,63 @@ sub render_image {
my $city = $self->stash('city');
my $stop = $self->stash('stop');
- my $dt_now = DateTime->now(time_zone => 'Europe/Berlin');
+ my $dt_now = DateTime->now( time_zone => 'Europe/Berlin' );
my $color = $self->param('color') || '255,208,0';
- my (@grep_line, @grep_platform);
-
+ my ( @grep_line, @grep_platform );
- my ($results, $errstr) = get_results_for($city, $stop);
+ my ( $results, $errstr ) = get_results_for( $city, $stop );
- my $png = App::VRR::Fakedisplay->new(width => 180, height => 50, color => [split(qr{,}, $color)]);
+ my $png = App::VRR::Fakedisplay->new(
+ width => 180,
+ height => 50,
+ color => [ split( qr{,}, $color ) ]
+ );
my $strp_simple = DateTime::Format::Strptime->new(
- pattern => '%H:%M',
+ pattern => '%H:%M',
time_zone => 'floating',
);
my $strp_full = DateTime::Format::Strptime->new(
- pattern => '%d.%m.%Y %H:%M',
+ pattern => '%d.%m.%Y %H:%M',
time_zone => 'floating',
);
-
- if ($self->param('line')) {
- @grep_line = split(qr{,}, $self->param('line'));
+ if ( $self->param('line') ) {
+ @grep_line = split( qr{,}, $self->param('line') );
}
- if ($self->param('platform')) {
- @grep_platform = split(qr{,}, $self->param('platform'));
+ if ( $self->param('platform') ) {
+ @grep_platform = split( qr{,}, $self->param('platform') );
}
$self->res->headers->content_type('image/png');
- for my $d (@{$results}) {
+ for my $d ( @{$results} ) {
- my $line = $d->line;
- my $platform = (split(qr{ }, $d->platform))[-1];
+ my $line = $d->line;
+ my $platform = ( split( qr{ }, $d->platform ) )[-1];
my $destination = $d->destination;
- my $time = $d->time;
+ my $time = $d->time;
my $etr;
my $dt_dep = $strp_full->parse_datetime($time)
- // $strp_simple->parse_datetime($time);
+ // $strp_simple->parse_datetime($time);
my $dt;
- if ((@grep_line and not ($line ~~ \@grep_line)) or
- (@grep_platform and not ($platform ~~ \@grep_platform))) {
+ if ( ( @grep_line and not( $line ~~ \@grep_line ) )
+ or ( @grep_platform and not( $platform ~~ \@grep_platform ) ) )
+ {
next;
}
- if ($time =~ m{ ^ \d\d? : \d\d $ }x) {
+ if ( $time =~ m{ ^ \d\d? : \d\d $ }x ) {
$dt = DateTime->new(
- year => $dt_now->year,
- month => $dt_now->month,
- day => $dt_now->day,
- hour => $dt_dep->hour,
- minute => $dt_dep->minute,
- second => $dt_dep->second,
+ year => $dt_now->year,
+ month => $dt_now->month,
+ day => $dt_now->day,
+ hour => $dt_dep->hour,
+ minute => $dt_dep->minute,
+ second => $dt_dep->second,
time_zone => 'Europe/Berlin',
);
}
@@ -138,42 +143,39 @@ sub render_image {
my $duration = $dt->subtract_datetime($dt_now);
- if ($duration->is_negative) {
+ if ( $duration->is_negative ) {
next;
}
- elsif ($duration->in_units('minutes') == 0) {
+ elsif ( $duration->in_units('minutes') == 0 ) {
$etr = 'sofort';
}
- elsif ($duration->in_units('hours') == 0) {
- $etr = sprintf(
- ' %2d',
- $duration->in_units('minutes'),
- );
+ elsif ( $duration->in_units('hours') == 0 ) {
+ $etr = sprintf( ' %2d', $duration->in_units('minutes'), );
}
else {
last;
}
- $destination = shorten_destination($destination, $city);
+ $destination = shorten_destination( $destination, $city );
- $png->draw_at(0, $line);
- $png->draw_at(25, $destination);
- $png->draw_at(144, $etr);
+ $png->draw_at( 0, $line );
+ $png->draw_at( 25, $destination );
+ $png->draw_at( 144, $etr );
- if ($etr ne 'sofort') {
- $png->draw_at(161, 'min');
+ if ( $etr ne 'sofort' ) {
+ $png->draw_at( 161, 'min' );
}
$png->new_line();
}
- $self->render(data => $png->png);
+ $self->render( data => $png->png );
}
get '/_redirect' => sub {
- my $self = shift;
- my $city = $self->param('city');
- my $stop = $self->param('stop');
+ my $self = shift;
+ my $city = $self->param('city');
+ my $stop = $self->param('stop');
$self->redirect_to("/${city}/${stop}");
};