expose prodCtx.catOut as line.productName

Closes #242
This commit is contained in:
Yureka 2021-08-20 15:30:44 +02:00 committed by Jannis R
parent e871c80900
commit c3bdcc880f
14 changed files with 52 additions and 0 deletions

View file

@ -25,6 +25,13 @@ const parseLine = ({profile}, p) => {
res.adminCode = p.prodCtx.admin.replace(/-+$/, '') res.adminCode = p.prodCtx.admin.replace(/-+$/, '')
} }
if (p.prodCtx && 'string' === typeof p.prodCtx.catOut) {
const productName = p.prodCtx.catOut.trim();
if (productName != "") {
res.productName = productName;
}
}
if ('cls' in p) { if ('cls' in p) {
// todo: use profile.products.find() for this // todo: use profile.products.find() for this
const byBitmask = [] const byBitmask = []

View file

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

View file

@ -256,6 +256,7 @@ module.exports = [
name: 'U 7', name: 'U 7',
public: true, public: true,
adminCode: 'vbbBVU', adminCode: 'vbbBVU',
productName: 'U',
mode: 'train', mode: 'train',
product: 'subway', product: 'subway',
operator: { type: 'operator', id: 'nahreisezug', name: 'Nahreisezug' } operator: { type: 'operator', id: 'nahreisezug', name: 'Nahreisezug' }

View file

@ -65,6 +65,7 @@ module.exports = {
name: 'S 7', name: 'S 7',
public: true, public: true,
adminCode: '800725', adminCode: '800725',
productName: 'S',
mode: 'train', mode: 'train',
product: 'suburban', product: 'suburban',
operator: { operator: {
@ -365,6 +366,7 @@ module.exports = {
name: 'U 3', name: 'U 3',
public: true, public: true,
adminCode: 'swm001', adminCode: 'swm001',
productName: 'U',
mode: 'train', mode: 'train',
product: 'subway' product: 'subway'
}, },

View file

@ -3952,6 +3952,7 @@ module.exports = {
'name': 'ICE 696', 'name': 'ICE 696',
'public': true, 'public': true,
'adminCode': '80____', 'adminCode': '80____',
'productName': 'ICE',
'mode': 'train', 'mode': 'train',
'product': 'nationalExpress', 'product': 'nationalExpress',
'operator': { 'operator': {

View file

@ -169,6 +169,7 @@ module.exports = {
name: 'ICE 523', name: 'ICE 523',
public: true, public: true,
adminCode: '80____', adminCode: '80____',
productName: 'ICE',
mode: 'train', mode: 'train',
product: 'nationalExpress', product: 'nationalExpress',
operator: { operator: {

View file

@ -114,6 +114,7 @@ module.exports = {
name: 'RJ 742', name: 'RJ 742',
public: true, public: true,
adminCode: '81____', adminCode: '81____',
productName: 'RJ',
mode: 'train', mode: 'train',
product: 'nationalExpress', product: 'nationalExpress',
operator: {type: 'operator', id: 'nahreisezug', name: 'Nahreisezug'} operator: {type: 'operator', id: 'nahreisezug', name: 'Nahreisezug'}

View file

@ -55,6 +55,7 @@ module.exports = {
name: 'Replacement bus RØD', name: 'Replacement bus RØD',
public: true, public: true,
adminCode: '000001', adminCode: '000001',
productName: 'Togbus',
mode: 'train', mode: 'train',
product: 'o', product: 'o',
operator: {type: 'operator', id: 'dsb', name: 'DSB'}, operator: {type: 'operator', id: 'dsb', name: 'DSB'},

View file

@ -13,6 +13,7 @@ module.exports = {
name: 'S2', name: 'S2',
public: true, public: true,
adminCode: '800156', adminCode: '800156',
productName: 'S',
mode: 'train', mode: 'train',
product: 's-bahn', product: 's-bahn',
operator: { operator: {

View file

@ -140,6 +140,7 @@ module.exports = [{
name: 'IC 51', name: 'IC 51',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -172,6 +173,7 @@ module.exports = [{
name: 'IC 5', name: 'IC 5',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -204,6 +206,7 @@ module.exports = [{
name: 'S 5', name: 'S 5',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'S',
mode: 'train', mode: 'train',
product: 'suburban-train', product: 'suburban-train',
operator: { operator: {
@ -244,6 +247,7 @@ module.exports = [{
name: 'IC 6', name: 'IC 6',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -267,6 +271,7 @@ module.exports = [{
name: 'IC 61', name: 'IC 61',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -288,6 +293,7 @@ module.exports = [{
name: 'IC 61', name: 'IC 61',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -309,6 +315,7 @@ module.exports = [{
name: 'EC 57', name: 'EC 57',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'EC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -330,6 +337,7 @@ module.exports = [{
name: 'IC 61', name: 'IC 61',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -361,6 +369,7 @@ module.exports = [{
name: 'IC 1', name: 'IC 1',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -401,6 +410,7 @@ module.exports = [{
name: 'IC 61', name: 'IC 61',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -424,6 +434,7 @@ module.exports = [{
name: 'IC 61', name: 'IC 61',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -445,6 +456,7 @@ module.exports = [{
name: 'EC 57', name: 'EC 57',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'EC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -466,6 +478,7 @@ module.exports = [{
name: 'IC 61', name: 'IC 61',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -487,6 +500,7 @@ module.exports = [{
name: 'IC 61', name: 'IC 61',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -518,6 +532,7 @@ module.exports = [{
name: 'IR 15', name: 'IR 15',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IR',
mode: 'train', mode: 'train',
product: 'interregional-train', product: 'interregional-train',
operator: { operator: {
@ -558,6 +573,7 @@ module.exports = [{
name: 'IC 51', name: 'IC 51',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -590,6 +606,7 @@ module.exports = [{
name: 'IC 5', name: 'IC 5',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'international-train', product: 'international-train',
operator: { operator: {
@ -622,6 +639,7 @@ module.exports = [{
name: 'S 5', name: 'S 5',
public: true, public: true,
adminCode: '000011', adminCode: '000011',
productName: 'S',
mode: 'train', mode: 'train',
product: 'suburban-train', product: 'suburban-train',
operator: { operator: {

View file

@ -193,6 +193,7 @@ module.exports = [
name: 'U8', name: 'U8',
public: true, public: true,
adminCode: 'BVU', adminCode: 'BVU',
productName: 'U',
mode: 'train', mode: 'train',
product: 'subway', product: 'subway',
operator: { operator: {
@ -858,6 +859,7 @@ module.exports = [
name: 'U8', name: 'U8',
public: true, public: true,
adminCode: 'BVU', adminCode: 'BVU',
productName: 'U',
mode: 'train', mode: 'train',
product: 'subway', product: 'subway',
operator: { operator: {
@ -1618,6 +1620,7 @@ module.exports = [
name: 'S9', name: 'S9',
public: true, public: true,
adminCode: 'DBS', adminCode: 'DBS',
productName: 'S',
mode: 'train', mode: 'train',
product: 'suburban', product: 'suburban',
operator: { operator: {

View file

@ -58,6 +58,7 @@ module.exports = [{
name: 'U9', name: 'U9',
public: true, public: true,
adminCode: 'BVU', adminCode: 'BVU',
productName: 'U',
mode: 'train', mode: 'train',
product: 'subway', product: 'subway',
operator: { operator: {
@ -133,6 +134,7 @@ module.exports = [{
name: 'S41', name: 'S41',
public: true, public: true,
adminCode: 'DBS', adminCode: 'DBS',
productName: 'S',
mode: 'train', mode: 'train',
product: 'suburban', product: 'suburban',
operator: { operator: {
@ -208,6 +210,7 @@ module.exports = [{
name: 'ICE 1710', name: 'ICE 1710',
public: true, public: true,
adminCode: 'N80', adminCode: 'N80',
productName: 'ICE',
mode: 'train', mode: 'train',
product: 'express', product: 'express',
operator: {type: 'operator', id: 'db-regio-ag', name: 'DB Regio AG'}, operator: {type: 'operator', id: 'db-regio-ag', name: 'DB Regio AG'},
@ -232,6 +235,7 @@ module.exports = [{
name: 'IC 2457', name: 'IC 2457',
public: true, public: true,
adminCode: 'N80', adminCode: 'N80',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'express', product: 'express',
operator: { operator: {
@ -258,6 +262,7 @@ module.exports = [{
name: 'IC 2055', name: 'IC 2055',
public: true, public: true,
adminCode: 'N80', adminCode: 'N80',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'express', product: 'express',
operator: { operator: {
@ -347,6 +352,7 @@ module.exports = [{
name: 'U9', name: 'U9',
public: true, public: true,
adminCode: 'BVU', adminCode: 'BVU',
productName: 'U',
mode: 'train', mode: 'train',
product: 'subway', product: 'subway',
operator: { operator: {
@ -422,6 +428,7 @@ module.exports = [{
name: 'S41', name: 'S41',
public: true, public: true,
adminCode: 'DBS', adminCode: 'DBS',
productName: 'S',
mode: 'train', mode: 'train',
product: 'suburban', product: 'suburban',
operator: { operator: {
@ -498,6 +505,7 @@ module.exports = [{
name: 'RE3', name: 'RE3',
public: true, public: true,
adminCode: '800158', adminCode: '800158',
productName: 'RE',
mode: 'train', mode: 'train',
product: 'regional', product: 'regional',
operator: {type: 'operator', id: 'db-regio-ag', name: 'DB Regio AG'}, operator: {type: 'operator', id: 'db-regio-ag', name: 'DB Regio AG'},
@ -522,6 +530,7 @@ module.exports = [{
name: 'RE66', name: 'RE66',
public: true, public: true,
adminCode: '800151', adminCode: '800151',
productName: 'RE',
mode: 'train', mode: 'train',
product: 'regional', product: 'regional',
operator: { operator: {
@ -548,6 +557,7 @@ module.exports = [{
name: 'RE3', name: 'RE3',
public: true, public: true,
adminCode: '800158', adminCode: '800158',
productName: 'RE',
mode: 'train', mode: 'train',
product: 'regional', product: 'regional',
operator: { operator: {
@ -574,6 +584,7 @@ module.exports = [{
name: 'RE3', name: 'RE3',
public: true, public: true,
adminCode: '800158', adminCode: '800158',
productName: 'RE',
mode: 'train', mode: 'train',
product: 'regional', product: 'regional',
operator: { operator: {
@ -600,6 +611,7 @@ module.exports = [{
name: 'RE3', name: 'RE3',
public: true, public: true,
adminCode: '800158', adminCode: '800158',
productName: 'RE',
mode: 'train', mode: 'train',
product: 'regional', product: 'regional',
operator: { operator: {
@ -626,6 +638,7 @@ module.exports = [{
name: 'RE66', name: 'RE66',
public: true, public: true,
adminCode: '800151', adminCode: '800151',
productName: 'RE',
mode: 'train', mode: 'train',
product: 'regional', product: 'regional',
operator: { operator: {

View file

@ -63,6 +63,7 @@ module.exports = {
name: 'IC 2315', name: 'IC 2315',
public: true, public: true,
adminCode: '80____', adminCode: '80____',
productName: 'IC',
mode: 'train', mode: 'train',
product: 'national', product: 'national',
operator: { operator: {

View file

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