Loading bin/hafas-m +1 −1 Original line number Diff line number Diff line Loading @@ -176,7 +176,7 @@ sub parse_mot_options { for my $mot ( @{ $desc->{productbits} } ) { if ( ref($mot) eq 'ARRAY' ) { if ( $mot->[0] ne '_' ) { printf( "%-10s %s\n", @{$mot} ); printf( "%-20s (%s)\n", @{$mot} ); } } elsif ( $mot ne '_' ) { Loading lib/Travel/Status/DE/HAFAS/Services.pm.PL +35 −121 Original line number Diff line number Diff line Loading @@ -33,6 +33,22 @@ sub load_instance { #} ); my %bitmask_to_product; for my $product ( @{ $data->{options}{products} // [] } ) { for my $bitmask ( @{ $product->{bitmasks} // [] } ) { $bitmask_to_product{$bitmask} = $product; } } for my $bit ( 0 .. 15 ) { if ( my $p = $bitmask_to_product{ 2**$bit } ) { push( @{ $ret{productbits} }, [ $p->{id}, $p->{name} ] ); } else { push( @{ $ret{productbits} }, [ "_", undef ] ); } } if ( $opt{lang} ) { $ret{request}{lang} = $opt{lang}; } Loading @@ -58,19 +74,6 @@ my %hafas_instance = ( ver => '1.26' ), stopfinder => 'https://auskunft.avv.de/bin/ajax-getstop.exe', productbits => [ [ regio => 'regional trains' ], [ ic_ec => 'long distance trains' ], [ ice => 'long distance trains' ], [ bus => 'long distance busses' ], [ s => 'sububrban trains' ], [ u => 'underground trains' ], [ tram => 'trams' ], [ bus => 'busses' ], [ bus => 'additional busses' ], [ ondemand => 'on-demand services' ], [ ferry => 'maritime transit' ] ], }, BART => { load_instance( Loading @@ -79,17 +82,6 @@ my %hafas_instance = ( ver => '1.40' ), stopfinder => 'https://planner.bart.gov/bin/ajax-getstop.exe', productbits => [ [ _ => undef ], [ _ => undef ], [ cc => 'cable cars' ], [ regio => 'regional trains' ], [ _ => undef ], [ bus => 'busses' ], [ ferry => 'maritime transit' ], [ bart => 'BART trains' ], [ tram => 'trams' ], ], }, BLS => { load_instance( Loading @@ -99,26 +91,10 @@ my %hafas_instance = ( ), languages => [qw[de fr it en]], stopfinder => 'https://bls.hafas.de/bin/ajax-stopfinder.exe', productbits => [ [ ice => 'long distance trains' ], [ ic_ec => 'long distance trains' ], [ ir => 'inter-regio trains' ], [ regio => 'regional trains' ], [ ferry => 'maritime transit' ], [ s => 'suburban trains' ], [ bus => 'busses' ], [ fun => 'funicular / gondola' ], [ _ => undef ], [ tram => 'trams' ], [ _ => undef ], [ _ => undef ], [ car => 'Autoverlad' ] ], }, BVG => { load_instance( 'de/bvg', lang => 'deu' ), stopfinder => 'https://bvg-apps-ext.hafas.de/bin/ajax-getstop.exe', productbits => [qw[s u tram bus]], }, CMTA => { load_instance( Loading @@ -127,28 +103,10 @@ my %hafas_instance = ( ver => '1.40' ), stopfinder => 'https://capmetro.hafas.cloud/bin/ajax-getstop.exe', productbits => [ [ _ => undef ], [ _ => undef ], [ _ => undef ], [ regio => 'MetroRail' ], [ _ => undef ], [ bus => 'MetroBus' ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ rapid => 'MetroRapid' ], ], }, DB => { load_instance('de/db'), stopfinder => 'https://reiseauskunft.bahn.de/bin/ajax-getstop.exe', productbits => [qw[ice ic_ec d regio s bus ferry u tram ondemand]], productgroups => [ [qw[ice ic_ec d]], [qw[regio s]], [qw[bus ferry u tram ondemand]] ], salt => 'bdI8UVj40K5fvxwf', languages => [qw[de en fr es]], request => { Loading @@ -175,48 +133,22 @@ my %hafas_instance = ( ), stopfinder => 'https://journeyplanner.irishrail.ie/bin/ajax-getstop.exe', productbits => [ [ _ => undef ], [ ic => 'national trains' ], [ _ => undef ], [ regio => 'regional trains' ], [ dart => 'DART trains' ], [ _ => undef ], [ luas => 'LUAS trams' ], ], salt => 'i5s7m3q9z6b4k1c2', micmac => 1, }, KVB => { load_instance( 'de/kvb', lang => 'deu' ), productbits => [ [ s => 'sub-urban trains' ], [ tram => 'trams' ], [ _ => undef ], [ bus => 'buses' ], [ regio => 'regional trains' ], [ ic => 'national trains' ], [ _ => undef ], [ _ => undef ], [ ondemand => 'taxi buses' ] ], }, KVB => { load_instance( 'de/kvb', lang => 'deu' ), }, NAHSH => { load_instance('de/nahsh'), stopfinder => 'https://nah.sh.hafas.de/bin/ajax-getstop.exe', productbits => [qw[ice ice ice regio s bus ferry u tram ondemand]], }, NASA => { load_instance( 'de/nasa', lang => 'deu' ), stopfinder => 'https://reiseauskunft.insa.de/bin/ajax-getstop.exe', productbits => [qw[ice ice regio regio regio tram bus ondemand]], }, NVV => { load_instance( 'de/nvv', lang => 'deu' ), stopfinder => 'https://auskunft.nvv.de/auskunft/bin/jp/ajax-getstop.exe', productbits => [qw[ice ic_ec regio s u tram bus bus ferry ondemand regio regio]], }, 'ÖBB' => { load_instance( Loading @@ -225,26 +157,10 @@ my %hafas_instance = ( ver => '1.57' ), stopfinder => 'https://fahrplan.oebb.at/bin/ajax-getstop.exe', productbits => [ [ ice_rj => 'long distance trains' ], [ sev => 'rail replacement service' ], [ ic_ec => 'long distance trains' ], [ d_n => 'night trains and rapid trains' ], [ regio => 'regional trains' ], [ s => 'suburban trains' ], [ bus => 'busses' ], [ ferry => 'maritime transit' ], [ u => 'underground' ], [ tram => 'trams' ], [ other => 'other transit services' ] ], productgroups => [ qw[ice_rj ic_ec d_n], qw[regio s sev], qw[bus ferry u tram other] ], }, VBB => { load_instance( 'de/vbb', lang => 'deu' ), stopfinder => 'https://fahrinfo.vbb.de/bin/ajax-getstop.exe', productbits => [qw[s u tram bus ferry ice regio]], }, VBN => { load_instance( Loading @@ -253,7 +169,6 @@ my %hafas_instance = ( ver => '1.42' ), stopfinder => 'https://fahrplaner.vbn.de/hafas/ajax-getstop.exe', productbits => [qw[ice ice regio regio s bus ferry u tram ondemand]], salt => 'SP31mBufSyCLmNxp', micmac => 1, }, Loading @@ -264,7 +179,6 @@ my %hafas_instance = ( ver => '1.72' ), stopfinder => 'https://fahrplan.vos.info/bin/ajax-getstop.exe', productbits => [qw[ice ic_ec d regio s bus ferry u tram ondemand]], }, ); Loading Loading
bin/hafas-m +1 −1 Original line number Diff line number Diff line Loading @@ -176,7 +176,7 @@ sub parse_mot_options { for my $mot ( @{ $desc->{productbits} } ) { if ( ref($mot) eq 'ARRAY' ) { if ( $mot->[0] ne '_' ) { printf( "%-10s %s\n", @{$mot} ); printf( "%-20s (%s)\n", @{$mot} ); } } elsif ( $mot ne '_' ) { Loading
lib/Travel/Status/DE/HAFAS/Services.pm.PL +35 −121 Original line number Diff line number Diff line Loading @@ -33,6 +33,22 @@ sub load_instance { #} ); my %bitmask_to_product; for my $product ( @{ $data->{options}{products} // [] } ) { for my $bitmask ( @{ $product->{bitmasks} // [] } ) { $bitmask_to_product{$bitmask} = $product; } } for my $bit ( 0 .. 15 ) { if ( my $p = $bitmask_to_product{ 2**$bit } ) { push( @{ $ret{productbits} }, [ $p->{id}, $p->{name} ] ); } else { push( @{ $ret{productbits} }, [ "_", undef ] ); } } if ( $opt{lang} ) { $ret{request}{lang} = $opt{lang}; } Loading @@ -58,19 +74,6 @@ my %hafas_instance = ( ver => '1.26' ), stopfinder => 'https://auskunft.avv.de/bin/ajax-getstop.exe', productbits => [ [ regio => 'regional trains' ], [ ic_ec => 'long distance trains' ], [ ice => 'long distance trains' ], [ bus => 'long distance busses' ], [ s => 'sububrban trains' ], [ u => 'underground trains' ], [ tram => 'trams' ], [ bus => 'busses' ], [ bus => 'additional busses' ], [ ondemand => 'on-demand services' ], [ ferry => 'maritime transit' ] ], }, BART => { load_instance( Loading @@ -79,17 +82,6 @@ my %hafas_instance = ( ver => '1.40' ), stopfinder => 'https://planner.bart.gov/bin/ajax-getstop.exe', productbits => [ [ _ => undef ], [ _ => undef ], [ cc => 'cable cars' ], [ regio => 'regional trains' ], [ _ => undef ], [ bus => 'busses' ], [ ferry => 'maritime transit' ], [ bart => 'BART trains' ], [ tram => 'trams' ], ], }, BLS => { load_instance( Loading @@ -99,26 +91,10 @@ my %hafas_instance = ( ), languages => [qw[de fr it en]], stopfinder => 'https://bls.hafas.de/bin/ajax-stopfinder.exe', productbits => [ [ ice => 'long distance trains' ], [ ic_ec => 'long distance trains' ], [ ir => 'inter-regio trains' ], [ regio => 'regional trains' ], [ ferry => 'maritime transit' ], [ s => 'suburban trains' ], [ bus => 'busses' ], [ fun => 'funicular / gondola' ], [ _ => undef ], [ tram => 'trams' ], [ _ => undef ], [ _ => undef ], [ car => 'Autoverlad' ] ], }, BVG => { load_instance( 'de/bvg', lang => 'deu' ), stopfinder => 'https://bvg-apps-ext.hafas.de/bin/ajax-getstop.exe', productbits => [qw[s u tram bus]], }, CMTA => { load_instance( Loading @@ -127,28 +103,10 @@ my %hafas_instance = ( ver => '1.40' ), stopfinder => 'https://capmetro.hafas.cloud/bin/ajax-getstop.exe', productbits => [ [ _ => undef ], [ _ => undef ], [ _ => undef ], [ regio => 'MetroRail' ], [ _ => undef ], [ bus => 'MetroBus' ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ _ => undef ], [ rapid => 'MetroRapid' ], ], }, DB => { load_instance('de/db'), stopfinder => 'https://reiseauskunft.bahn.de/bin/ajax-getstop.exe', productbits => [qw[ice ic_ec d regio s bus ferry u tram ondemand]], productgroups => [ [qw[ice ic_ec d]], [qw[regio s]], [qw[bus ferry u tram ondemand]] ], salt => 'bdI8UVj40K5fvxwf', languages => [qw[de en fr es]], request => { Loading @@ -175,48 +133,22 @@ my %hafas_instance = ( ), stopfinder => 'https://journeyplanner.irishrail.ie/bin/ajax-getstop.exe', productbits => [ [ _ => undef ], [ ic => 'national trains' ], [ _ => undef ], [ regio => 'regional trains' ], [ dart => 'DART trains' ], [ _ => undef ], [ luas => 'LUAS trams' ], ], salt => 'i5s7m3q9z6b4k1c2', micmac => 1, }, KVB => { load_instance( 'de/kvb', lang => 'deu' ), productbits => [ [ s => 'sub-urban trains' ], [ tram => 'trams' ], [ _ => undef ], [ bus => 'buses' ], [ regio => 'regional trains' ], [ ic => 'national trains' ], [ _ => undef ], [ _ => undef ], [ ondemand => 'taxi buses' ] ], }, KVB => { load_instance( 'de/kvb', lang => 'deu' ), }, NAHSH => { load_instance('de/nahsh'), stopfinder => 'https://nah.sh.hafas.de/bin/ajax-getstop.exe', productbits => [qw[ice ice ice regio s bus ferry u tram ondemand]], }, NASA => { load_instance( 'de/nasa', lang => 'deu' ), stopfinder => 'https://reiseauskunft.insa.de/bin/ajax-getstop.exe', productbits => [qw[ice ice regio regio regio tram bus ondemand]], }, NVV => { load_instance( 'de/nvv', lang => 'deu' ), stopfinder => 'https://auskunft.nvv.de/auskunft/bin/jp/ajax-getstop.exe', productbits => [qw[ice ic_ec regio s u tram bus bus ferry ondemand regio regio]], }, 'ÖBB' => { load_instance( Loading @@ -225,26 +157,10 @@ my %hafas_instance = ( ver => '1.57' ), stopfinder => 'https://fahrplan.oebb.at/bin/ajax-getstop.exe', productbits => [ [ ice_rj => 'long distance trains' ], [ sev => 'rail replacement service' ], [ ic_ec => 'long distance trains' ], [ d_n => 'night trains and rapid trains' ], [ regio => 'regional trains' ], [ s => 'suburban trains' ], [ bus => 'busses' ], [ ferry => 'maritime transit' ], [ u => 'underground' ], [ tram => 'trams' ], [ other => 'other transit services' ] ], productgroups => [ qw[ice_rj ic_ec d_n], qw[regio s sev], qw[bus ferry u tram other] ], }, VBB => { load_instance( 'de/vbb', lang => 'deu' ), stopfinder => 'https://fahrinfo.vbb.de/bin/ajax-getstop.exe', productbits => [qw[s u tram bus ferry ice regio]], }, VBN => { load_instance( Loading @@ -253,7 +169,6 @@ my %hafas_instance = ( ver => '1.42' ), stopfinder => 'https://fahrplaner.vbn.de/hafas/ajax-getstop.exe', productbits => [qw[ice ice regio regio s bus ferry u tram ondemand]], salt => 'SP31mBufSyCLmNxp', micmac => 1, }, Loading @@ -264,7 +179,6 @@ my %hafas_instance = ( ver => '1.72' ), stopfinder => 'https://fahrplan.vos.info/bin/ajax-getstop.exe', productbits => [qw[ice ic_ec d regio s bus ferry u tram ondemand]], }, ); Loading