parseLine: don't trim adminCode 💥

This commit is contained in:
Jannis R 2022-01-04 15:31:40 +01:00
parent b740539081
commit ef9e3765ee
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
8 changed files with 58 additions and 51 deletions

View file

@ -22,8 +22,7 @@ const parseLine = ({profile}, p) => {
// todo: what is p.prodCtx.catCode?
if (p.prodCtx && 'string' === typeof p.prodCtx.admin) {
// todo [breaking]: don't trim
res.adminCode = p.prodCtx.admin.replace(/-+$/, '')
res.adminCode = p.prodCtx.admin
}
if (p.prodCtx && 'string' === typeof p.prodCtx.catOut) {

View file

@ -311,7 +311,7 @@ module.exports = [
fahrtNr: '2780',
name: 'M5',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -348,7 +348,7 @@ module.exports = [
fahrtNr: '3085',
name: 'M8',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -385,7 +385,7 @@ module.exports = [
fahrtNr: '3151',
name: 'M8',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -422,7 +422,7 @@ module.exports = [
fahrtNr: '3255',
name: '56',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -459,7 +459,7 @@ module.exports = [
fahrtNr: '25595',
name: 'S8',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -497,7 +497,7 @@ module.exports = [
fahrtNr: '893',
name: 'S41',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -536,7 +536,7 @@ module.exports = [
fahrtNr: '1710',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -575,7 +575,7 @@ module.exports = [
fahrtNr: '3304',
name: '56',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -612,7 +612,7 @@ module.exports = [
fahrtNr: '1344',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -651,7 +651,7 @@ module.exports = [
fahrtNr: '2643',
name: 'M5',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -688,7 +688,7 @@ module.exports = [
fahrtNr: '654',
name: 'S41',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -725,7 +725,7 @@ module.exports = [
fahrtNr: '1357',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -762,7 +762,7 @@ module.exports = [
fahrtNr: '2780',
name: 'M5',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -801,7 +801,7 @@ module.exports = [
fahrtNr: '25467',
name: 'S8',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -849,7 +849,7 @@ module.exports = [
fahrtNr: '3085',
name: 'M8',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -886,7 +886,7 @@ module.exports = [
fahrtNr: '3151',
name: 'M8',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -923,7 +923,7 @@ module.exports = [
fahrtNr: '3255',
name: '56',
public: true,
adminCode: 'BVT',
adminCode: 'BVT---',
productName: 'Tram',
mode: 'train',
product: 'tram',
@ -962,7 +962,7 @@ module.exports = [
fahrtNr: '26542',
name: 'S85',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1032,7 +1032,7 @@ module.exports = [
fahrtNr: '889',
name: 'S41',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1071,7 +1071,7 @@ module.exports = [
fahrtNr: '1706',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1110,7 +1110,7 @@ module.exports = [
fahrtNr: '1704',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1149,7 +1149,7 @@ module.exports = [
fahrtNr: '1702',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1188,7 +1188,7 @@ module.exports = [
fahrtNr: '1700',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1227,7 +1227,7 @@ module.exports = [
fahrtNr: '1698',
name: 'S42',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',

View file

@ -697,7 +697,7 @@ module.exports = {
fahrtNr: '14825',
name: 'S2',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',

View file

@ -9,7 +9,7 @@ module.exports = {
fahrtNr: '7070',
name: '147',
public: true,
adminCode: 'BVB',
adminCode: 'BVB---',
productName: 'Bus',
mode: 'bus',
product: 'bus',

View file

@ -172,7 +172,7 @@ module.exports = [
fahrtNr: '10541',
name: 'S3',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -365,7 +365,7 @@ module.exports = [
fahrtNr: '33695',
name: '300',
public: true,
adminCode: 'BVB',
adminCode: 'BVB---',
productName: 'Bus',
mode: 'bus',
product: 'bus',
@ -579,7 +579,7 @@ module.exports = [
fahrtNr: '17590',
name: 'U8',
public: true,
adminCode: 'BVU',
adminCode: 'BVU---',
productName: 'U',
mode: 'train',
product: 'subway',
@ -794,7 +794,7 @@ module.exports = [
fahrtNr: '17227',
name: 'U8',
public: true,
adminCode: 'BVU',
adminCode: 'BVU---',
productName: 'U',
mode: 'train',
product: 'subway',
@ -1009,7 +1009,7 @@ module.exports = [
fahrtNr: '15359',
name: 'S5',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1224,7 +1224,7 @@ module.exports = [
fahrtNr: '17258',
name: 'S7',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1439,7 +1439,7 @@ module.exports = [
fahrtNr: '17985',
name: 'S7',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1654,7 +1654,7 @@ module.exports = [
fahrtNr: '14839',
name: 'S5',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -1869,7 +1869,7 @@ module.exports = [
fahrtNr: '17589',
name: 'U8',
public: true,
adminCode: 'BVU',
adminCode: 'BVU---',
productName: 'U',
mode: 'train',
product: 'subway',
@ -2084,7 +2084,7 @@ module.exports = [
fahrtNr: '17229',
name: 'U8',
public: true,
adminCode: 'BVU',
adminCode: 'BVU---',
productName: 'U',
mode: 'train',
product: 'subway',
@ -2299,7 +2299,7 @@ module.exports = [
fahrtNr: '33624',
name: '300',
public: true,
adminCode: 'BVB',
adminCode: 'BVB---',
productName: 'Bus',
mode: 'bus',
product: 'bus',
@ -2513,7 +2513,7 @@ module.exports = [
fahrtNr: '20512',
name: 'S9',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',

View file

@ -59,7 +59,7 @@ module.exports = [{
fahrtNr: '24005',
name: 'U9',
public: true,
adminCode: 'BVU',
adminCode: 'BVU---',
productName: 'U',
mode: 'train',
product: 'subway',
@ -132,7 +132,7 @@ module.exports = [{
fahrtNr: '2568',
name: 'S41',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',
@ -205,7 +205,7 @@ module.exports = [{
fahrtNr: '1710',
name: 'ICE 1710',
public: true,
adminCode: 'N80',
adminCode: 'N80---',
productName: 'ICE',
mode: 'train',
product: 'express',
@ -225,7 +225,7 @@ module.exports = [{
fahrtNr: '2457',
name: 'IC 2457',
public: true,
adminCode: 'N80',
adminCode: 'N80---',
productName: 'IC',
mode: 'train',
product: 'express',
@ -247,7 +247,7 @@ module.exports = [{
fahrtNr: '2055',
name: 'IC 2055',
public: true,
adminCode: 'N80',
adminCode: 'N80---',
productName: 'IC',
mode: 'train',
product: 'express',
@ -334,7 +334,7 @@ module.exports = [{
fahrtNr: '24006',
name: 'U9',
public: true,
adminCode: 'BVU',
adminCode: 'BVU---',
productName: 'U',
mode: 'train',
product: 'subway',
@ -407,7 +407,7 @@ module.exports = [{
fahrtNr: '2723',
name: 'S41',
public: true,
adminCode: 'DBS',
adminCode: 'DBS---',
productName: 'S',
mode: 'train',
product: 'suburban',

View file

@ -43,7 +43,7 @@ tap.test('parses a line correctly (mobiliteit.lu)', (t) => {
fahrtNr: '108',
name: 'IC 108',
public: true,
adminCode: 'C88',
adminCode: 'C88---',
productName: 'IC',
mode: 'train',
product: 'national-train',

View file

@ -1,6 +1,7 @@
'use strict'
const tap = require('tap')
const omit = require('lodash/omit')
const parse = require('../../parse/line')
const profile = {
@ -21,7 +22,9 @@ tap.test('parses lines correctly', (t) => {
line: 'foo line',
prodCtx: {
lineId: 'Foo ',
num: 123
num: 123,
// HAFAS endpoints commonly have these padded admin codes.
admin: 'foo---',
}
}
const expected = {
@ -29,7 +32,8 @@ tap.test('parses lines correctly', (t) => {
id: 'foo',
fahrtNr: 123,
name: 'foo line',
public: true
public: true,
adminCode: 'foo---',
}
t.same(parse(ctx, input), expected)
@ -51,7 +55,11 @@ tap.test('parses lines correctly', (t) => {
t.same(parse(ctx, {
...input, prodCtx: undefined
}), {
...expected, id: 'foo-line', fahrtNr: null
...omit(expected, [
'adminCode',
]),
id: 'foo-line',
fahrtNr: null,
})
t.end()
})