From 3f19806f87d0f040124db0e9c2d240939b19673d Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 13 Jul 2011 12:43:58 +0200 Subject: initial commit --- .gitignore | 9 +++++ Build.PL | 25 ++++++++++++++ bin/db-fakedisplay | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ share/template.html | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 221 insertions(+) create mode 100644 .gitignore create mode 100755 Build.PL create mode 100755 bin/db-fakedisplay create mode 100644 share/template.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..558fa12 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +/_build +/Build +/blib +/cover_db/ +/MANIFEST +/MANIFEST.bak +/MANIFEST.SKIP +/MANIFEST.SKIP.bak +/MYMETA.yml diff --git a/Build.PL b/Build.PL new file mode 100755 index 0000000..6dcd0fa --- /dev/null +++ b/Build.PL @@ -0,0 +1,25 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use Module::Build; + +Module::Build->new( + + build_requires => { + 'Module::Build' => '0.36', + }, + dist_name => 'db-fakedisplay', + dist_version_from => 'bin/db-fakedisplay', + license => 'unrestricted', + requires => { + 'perl' => '5.10.0', + 'File::ShareDir' => 0, + 'HTML::Template' => 0, + 'List::Util' => 0, + 'Travel::Status::DE::DeutscheBahn' => 0, + }, + share_dir => 'share', + sign => 1, + +)->create_build_script(); diff --git a/bin/db-fakedisplay b/bin/db-fakedisplay new file mode 100755 index 0000000..7930285 --- /dev/null +++ b/bin/db-fakedisplay @@ -0,0 +1,93 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use 5.010; + +use File::ShareDir qw(dist_file); +use HTML::Template; +use List::Util qw(first); +use Travel::Status::DE::DeutscheBahn; + +our $VERSION = '0.00'; + +sub show_help { + my ($exit_status) = @_; + + say 'Usage: db-fakedisplay '; + + exit $exit_status; +} + +if (@ARGV != 2) { + show_help(1); +} + +my ($station, $platform) = @ARGV; +my $template_file = dist_file('db-fakedisplay', 'template.html'); +my $template = HTML::Template->new( filename => $template_file); + +my $status = Travel::Status::DE::DeutscheBahn->new( + station => $station +); + +my $info = first { $_->platform eq $platform } $status->results; + +if (not defined $info) { + say STDERR 'Got no departures for that platform'; + exit 1; +} + +my @via = $info->route; +my $extra = $info->info; + +$extra =~ s{ (?: ^ | , ) (?: p.nktlich | k [.] A [.] ) }{}x; + +$template->param( + time => $info->time, + train => $info->train, + via => [ map { { stop => $_ } } splice(@via, 0, 3) ], + destination => $info->destination, + platform => $info->platform, + info => $extra, +); + +say $template->output; + +__END__ + +=head1 NAME + +=head1 SYNOPSIS + +=head1 VERSION + +=head1 DESCRIPTION + +=head1 OPTIONS + +=over + +=back + +=head1 EXIT STATUS + +=head1 CONFIGURATION + +None. + +=head1 DEPENDENCIES + +=over + +=back + +=head1 BUGS AND LIMITATIONS + +=head1 AUTHOR + +Copyright (C) 2011 by Daniel Friesel Ederf@finalrewind.orgE + +=head1 LICENSE + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/share/template.html b/share/template.html new file mode 100644 index 0000000..e7e6335 --- /dev/null +++ b/share/template.html @@ -0,0 +1,94 @@ + + + + + + + + +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+ +
+ +
+ +
+
+
+ + -- cgit v1.2.3