diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-10-30 11:34:35 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-10-30 11:34:35 +0100 |
commit | fbabb4e97410884c911dafabcbf33493427ab698 (patch) | |
tree | 687aeb2da67d272f67cb1a4b1fa30518767a5648 /cgi | |
parent | b9e6f97704f219837270910f159692f2bbe18608 (diff) |
cleanup
Diffstat (limited to 'cgi')
-rw-r--r-- | cgi/index.pl | 136 |
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}"); }; |