mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 15:19:35 +02:00
add RSAG profile
This commit is contained in:
parent
0ea2c01abe
commit
84637b2e96
5 changed files with 179 additions and 0 deletions
43
p/rsag/example.js
Normal file
43
p/rsag/example.js
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
const createClient = require('../..')
|
||||||
|
const rsagProfile = require('.')
|
||||||
|
|
||||||
|
const client = createClient(rsagProfile, 'hafas-client-example')
|
||||||
|
|
||||||
|
const rostockHbf = '8010304'
|
||||||
|
const güstrow = '8010153'
|
||||||
|
const albertEinsteinStr = {
|
||||||
|
type: 'location',
|
||||||
|
id: '990004201',
|
||||||
|
address: 'Rostock - Südstadt, Albert-Einstein-Straße 23',
|
||||||
|
latitude: 54.077208, longitude: 12.108299
|
||||||
|
}
|
||||||
|
|
||||||
|
client.journeys(rostockHbf, güstrow, {results: 1})
|
||||||
|
// client.departures(rostockHbf, {duration: 1})
|
||||||
|
// client.arrivals(rostockHbf, {duration: 10, linesOfStops: true})
|
||||||
|
// client.locations('güstrow', {results: 2})
|
||||||
|
// client.stop(rostockHbf, {linesOfStops: true}) // Dammtor
|
||||||
|
// client.nearby(albertEinsteinStr)
|
||||||
|
// client.radar({
|
||||||
|
// north: 54.177,
|
||||||
|
// west: 11.959,
|
||||||
|
// south: 54.074,
|
||||||
|
// east: 12.258
|
||||||
|
// }, {results: 10})
|
||||||
|
// client.reachableFrom(albertEinsteinStr, {
|
||||||
|
// when: new Date('2020-03-03T10:00:00+01:00'),
|
||||||
|
// maxDuration: 10
|
||||||
|
// })
|
||||||
|
|
||||||
|
// .then(({journeys}) => {
|
||||||
|
// const [journey] = journeys
|
||||||
|
// const leg = journey.legs[0]
|
||||||
|
// return client.trip(leg.tripId, leg.line.name, {polyline: true})
|
||||||
|
// })
|
||||||
|
|
||||||
|
.then((data) => {
|
||||||
|
console.log(require('util').inspect(data, {depth: null, colors: true}))
|
||||||
|
})
|
||||||
|
.catch(console.error)
|
33
p/rsag/index.js
Normal file
33
p/rsag/index.js
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
const products = require('./products')
|
||||||
|
|
||||||
|
const transformReqBody = (ctx, body) => {
|
||||||
|
body.client = {type: 'WEB', id: 'RSAG', name: 'webapp'}
|
||||||
|
body.ext = 'VBN.2'
|
||||||
|
body.ver = '1.24'
|
||||||
|
body.auth = {type: 'AID', aid: 'tF5JTs25rzUhGrrl'}
|
||||||
|
|
||||||
|
return body
|
||||||
|
}
|
||||||
|
|
||||||
|
const hvvProfile = {
|
||||||
|
locale: 'de-DE',
|
||||||
|
timezone: 'Europe/Berlin',
|
||||||
|
endpoint: 'https://fahrplan.rsag-online.de/bin/mgate.exe',
|
||||||
|
|
||||||
|
transformReqBody,
|
||||||
|
|
||||||
|
products,
|
||||||
|
|
||||||
|
trip: true,
|
||||||
|
radar: true,
|
||||||
|
reachableFrom: true,
|
||||||
|
|
||||||
|
// todo: these fail ver >=1.21, see #164
|
||||||
|
refreshJourney: false,
|
||||||
|
departuresGetPasslist: false,
|
||||||
|
departuresStbFltrEquiv: false,
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = hvvProfile
|
84
p/rsag/products.js
Normal file
84
p/rsag/products.js
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
module.exports = [
|
||||||
|
{
|
||||||
|
id: 'ice',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [1],
|
||||||
|
name: 'InterCityExpress',
|
||||||
|
short: 'ICE',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'ic-ec',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [2],
|
||||||
|
name: 'InterCity & EuroCity',
|
||||||
|
short: 'IC/EC',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'long-distance-train',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [4],
|
||||||
|
name: 'InterRegio/high-speed train',
|
||||||
|
short: 'IR/other',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'regional-train', // todo: rename
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [8],
|
||||||
|
name: 'regional train',
|
||||||
|
short: 'RE/RB',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 's-bahn',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [16],
|
||||||
|
name: 'S-Bahn',
|
||||||
|
short: 'S',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'bus',
|
||||||
|
mode: 'bus',
|
||||||
|
bitmasks: [32],
|
||||||
|
name: 'Bus',
|
||||||
|
short: 'B',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'ferry',
|
||||||
|
mode: 'watercraft',
|
||||||
|
bitmasks: [64],
|
||||||
|
name: 'Schiff',
|
||||||
|
short: 'F',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'u-bahn',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [128],
|
||||||
|
name: 'U-Bahn',
|
||||||
|
short: 'U',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'tram',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [256],
|
||||||
|
name: 'Tram',
|
||||||
|
short: 'T',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'on-call',
|
||||||
|
mode: 'taxi', // todo: or `bus`?
|
||||||
|
bitmasks: [512],
|
||||||
|
name: 'Taxi/on-call vehicle',
|
||||||
|
short: 'AST',
|
||||||
|
default: true
|
||||||
|
}
|
||||||
|
]
|
18
p/rsag/readme.md
Normal file
18
p/rsag/readme.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# RSAG profile for `hafas-client`
|
||||||
|
|
||||||
|
[*Rostocker Straßenbahn AG (RSAG)*](https://de.wikipedia.org/wiki/Rostocker_Straßenbahn_AG) is the local transport provider in [Rostock](https://en.wikipedia.org/wiki/Rostock). This profile adds *RSAG*-specific customizations to `hafas-client`.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```js
|
||||||
|
const createClient = require('hafas-client')
|
||||||
|
const rsagProfile = require('hafas-client/p/rsag')
|
||||||
|
|
||||||
|
// create a client with RSAG profile
|
||||||
|
const client = createClient(rsagProfile, 'my-awesome-program')
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Customisations
|
||||||
|
|
||||||
|
- parses *RSAG*-specific products
|
|
@ -223,6 +223,7 @@ HAFAS endpoint | wrapper library | docs | example code | source code
|
||||||
[Verkehrsverbund Süd-Niedersachsen (VSN)](https://de.wikipedia.org/wiki/Verkehrsverbund_S%C3%BCd-Niedersachsen) | - | [docs](p/vsn/readme.md) | [example code](p/vsn/example.js) | [src](p/vsn/index.js)
|
[Verkehrsverbund Süd-Niedersachsen (VSN)](https://de.wikipedia.org/wiki/Verkehrsverbund_S%C3%BCd-Niedersachsen) | - | [docs](p/vsn/readme.md) | [example code](p/vsn/example.js) | [src](p/vsn/index.js)
|
||||||
[Ingolstädter Verkehrsgesellschaft (INVG)](https://de.wikipedia.org/wiki/Ingolstädter_Verkehrsgesellschaft) | - | [docs](p/invg/readme.md) | [example code](p/invg/example.js) | [src](p/invg/index.js)
|
[Ingolstädter Verkehrsgesellschaft (INVG)](https://de.wikipedia.org/wiki/Ingolstädter_Verkehrsgesellschaft) | - | [docs](p/invg/readme.md) | [example code](p/invg/example.js) | [src](p/invg/index.js)
|
||||||
[Verkehrsverbund Bremen/Niedersachsen (VBN)](https://de.wikipedia.org/wiki/Verkehrsverbund_Bremen/Niedersachsen) | - | [docs](p/vbn/readme.md) | [example code](p/vbn/example.js) | [src](p/vbn/index.js)
|
[Verkehrsverbund Bremen/Niedersachsen (VBN)](https://de.wikipedia.org/wiki/Verkehrsverbund_Bremen/Niedersachsen) | - | [docs](p/vbn/readme.md) | [example code](p/vbn/example.js) | [src](p/vbn/index.js)
|
||||||
|
[Rostocker Straßenbahn AG (RSAG)](https://de.wikipedia.org/wiki/Rostocker_Straßenbahn_AG) | - | [docs](p/rsag/readme.md) | [example code](p/rsag/example.js) | [src](p/rsag/index.js)
|
||||||
|
|
||||||
There are also libraries that use `hafas-client` and pass their own profile in:
|
There are also libraries that use `hafas-client` and pass their own profile in:
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue