From 556f259834d75cad6a2feeb1c5106204d5921a28 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 9 Sep 2015 22:57:17 +0200 Subject: Squashed commit of the following: commit 73bb123b4a90dab9a08fa38555f0cd4afcdf3740 Author: Daniel Friesel Date: Wed Sep 9 21:08:51 2015 +0200 remove outdated and now unused tests commit 3f35ba0001aaff49a7b10acfaa83303b354c162a Author: Daniel Friesel Date: Wed Sep 9 21:07:34 2015 +0200 documentation for ::DeutscheBahn commit f4c66605dcbffedbb558ca66c5032e5252011244 Author: Daniel Friesel Date: Wed Sep 9 21:03:31 2015 +0200 re-add deutschebahn module commit 41b505bc98d4b25a7ca15465fe0bbee6c3708e9e Author: Daniel Friesel Date: Tue Sep 8 18:31:22 2015 +0200 more documentation updates commit edf7b5fbd8175b4b53735859b2a961fe6ab8cf49 Author: Daniel Friesel Date: Sun Sep 6 18:48:09 2015 +0200 improve delay and delayReason handling commit c4e9121a181de9d800226ab6fccca8abb8b14705 Author: Daniel Friesel Date: Sun Sep 6 18:22:23 2015 +0200 HAFAS.pm: Code cleanup commit edae36b16ecc5e1fa0adbece954bb348ce37e9a0 Author: Daniel Friesel Date: Sun Sep 6 13:31:46 2015 +0200 add devmode option commit f7a60ae80e59a129aae77b276925f80d7430c259 Author: Daniel Friesel Date: Sun Sep 6 01:18:28 2015 +0200 support for platform changes commit 6876d56e6dd22065c342fe1fbf42f9fcf7f3d457 Author: Daniel Friesel Date: Thu Aug 20 20:01:24 2015 +0200 documentation: DeutscheBahn -> HAFAS commit 73706f0150bd0fb9c11d2b8be89204bfd4b03235 Author: Daniel Friesel Date: Thu Aug 20 19:54:12 2015 +0200 routes and route_info are not supported here commit af8a541fd1f03131a9cd39a5548188dbc09b266a Author: Daniel Friesel Date: Thu Aug 20 19:50:35 2015 +0200 documentationfoo commit ff3f2298c7be86bb7b672359f54c39588706673e Author: Daniel Friesel Date: Thu Aug 20 19:14:30 2015 +0200 rename db-ris to hafas-m commit 754fda9974e20ee630a3a3386d6ff7c42468ca46 Author: Daniel Friesel Date: Thu Aug 20 17:18:12 2015 +0200 add support for cancelled trains and delay reasons commit f860183613ee7818a2f448e8c40bbbdb95c6180a Author: Daniel Friesel Date: Wed Aug 19 15:19:54 2015 +0200 add info message support commit 17eda1d00cdbf98a04dbbe7d3ff89c6833af016d Author: Daniel Friesel Date: Sun Aug 16 18:00:05 2015 +0200 initial hafas api support --- bin/hafas-m | 246 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100755 bin/hafas-m (limited to 'bin/hafas-m') diff --git a/bin/hafas-m b/bin/hafas-m new file mode 100755 index 0000000..cc78d26 --- /dev/null +++ b/bin/hafas-m @@ -0,0 +1,246 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.010; + +our $VERSION = '1.05'; + +use Getopt::Long qw(:config no_ignore_case); +use List::Util qw(first max); +use Travel::Status::DE::HAFAS; + +my %train_type; + +my ( $date, $time ); +my $arrivals = 0; +my $ignore_late = 0; +my $types = q{}; +my $language; +my $developer_mode; + +my @output; + +binmode( STDOUT, ':encoding(utf-8)' ); + +GetOptions( + 'a|arrivals' => \$arrivals, + 'd|date=s' => \$date, + 'h|help' => sub { show_help(0) }, + 'l|lang=s' => \$language, + 'L|ignore-late' => \$ignore_late, + 'm|mot=s' => \$types, + 't|time=s' => \$time, + 'V|version' => \&show_version, + 'devmode' => \$developer_mode, + +) or show_help(1); + +for my $type ( split( qr{,}, $types ) ) { + if ( substr( $type, 0, 1 ) eq q{!} ) { + $train_type{ substr( $type, 1 ) } = 0; + } + else { + $train_type{$type} = 1; + } +} + +my $status = Travel::Status::DE::HAFAS->new( + date => $date, + language => $language, + mot => \%train_type, + station => shift || show_help(1), + time => $time, + mode => $arrivals ? 'arr' : 'dep', + developer_mode => $developer_mode, +); + +sub show_help { + my ($code) = @_; + + print 'Usage: hafas-m [-d ] [-m ] [-t