Skip to content

Commit 2b088a7

Browse files
committed
WIP
1 parent 1d7bdf4 commit 2b088a7

File tree

4 files changed

+155
-1
lines changed

4 files changed

+155
-1
lines changed

index.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,38 @@ const convertGtfsToSql = async (pathToDb, files, opt = {}) => {
4343
debug('deps', deps)
4444

4545
const tasks = { // file name -> [dep name]
46+
// 'is_bcp_47_code': {
47+
// dep: [],
48+
// },
49+
// 'is_timezone': {
50+
// dep: [],
51+
// },
52+
// ...(tripsWithoutShapeId ? {} : {
53+
// 'shape_exists': {
54+
// dep: [...deps.shape_exists],
55+
// },
56+
// }),
57+
58+
// // special handling of calendar/calendar_dates:
59+
// // service_days relies on *both* calendar's & calendar_dates' tables to
60+
// // be present, so we add mock tasks here. Each of these mock tasks get
61+
// // replaced by a file-based one below if the file has been passed.
62+
// 'calendar': {
63+
// dep: [],
64+
// },
65+
// 'calendar_dates': {
66+
// dep: [],
67+
// },
68+
// 'service_days': {
69+
// dep: ['calendar', 'calendar_dates'],
70+
// },
71+
72+
// // The arrivals_departures & connections views rely on frequencies' table
73+
// // to be present, so we add a mock task here. It gets replaced by a
74+
// // file-based one below if the file has been passed.
75+
// 'frequencies': {
76+
// dep: [...deps.frequencies],
77+
// },
4678
}
4779

4880
for (const file of files) {

lib/agency.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,34 @@ CREATE TABLE "${opt.schema}".agency (
1616
)
1717
`)
1818

19-
// todo
19+
// COPY "${opt.schema}".agency (
20+
// agency_id,
21+
// agency_name,
22+
// agency_url,
23+
// agency_timezone,
24+
// agency_lang,
25+
// agency_phone,
26+
// agency_fare_url,
27+
// agency_email
28+
// ) FROM STDIN csv;
29+
// `
30+
31+
// const formatAgencyRow = (a) => {
32+
// return [
33+
// a.agency_id || null,
34+
// a.agency_name || null,
35+
// a.agency_url || null,
36+
// a.agency_timezone || null,
37+
// a.agency_lang || null,
38+
// a.agency_phone || null,
39+
// a.agency_fare_url || null,
40+
// a.agency_email || null,
41+
// ]
42+
// }
43+
44+
// const afterAll = `\
45+
// \\.
46+
// `
2047
}
2148

2249
module.exports = importData

lib/deps.js

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,87 @@
11
'use strict'
22

33
const getDependencies = (opt, files) => {
4+
// const {
5+
// tripsWithoutShapeId,
6+
// routesWithoutAgencyId,
7+
// stopsWithoutLevelId,
8+
// } = opt
49
return {
10+
// shape_exists: [
11+
// 'shapes',
12+
// ],
513
agency: [
14+
// 'is_timezone',
615
],
16+
// stops: [
17+
// 'is_timezone',
18+
// ...(stopsWithoutLevelId ? [] : ['levels']),
19+
// ],
20+
// transfers: [
21+
// 'stops',
22+
// ],
23+
// stop_times: [
24+
// 'trips',
25+
// 'stops',
26+
// 'service_days',
27+
// 'frequencies',
28+
// ],
29+
// routes: [
30+
// ...(routesWithoutAgencyId ? [] : ['agency']),
31+
// ],
32+
// trips: [
33+
// 'routes',
34+
// 'service_days',
35+
// ...(tripsWithoutShapeId ? [] : ['shapes', 'shape_exists']),
36+
// ],
37+
// frequencies: [
38+
// 'trips',
39+
// ],
40+
// pathways: [
41+
// 'stops',
42+
// ],
43+
// feed_info: [
44+
// 'is_bcp_47_code',
45+
// ],
46+
// translations: [
47+
// 'is_bcp_47_code',
48+
// // > table_name
49+
// // > Defines the dataset table that contains the field to be translated. The following values are allowed:
50+
// // > agency
51+
// // > stops
52+
// // > routes
53+
// // > trips
54+
// // > stop_times
55+
// // > feed_info
56+
// // > pathways
57+
// // > levels
58+
// // > attributions
59+
// // https://developers.google.com/transit/gtfs/reference#translationstxt
60+
// // todo: respect opt.*!
61+
// // these are soft dependencies, they are not depended upon, they must only be imported first
62+
// // todo: only specify dependencies here if the files are not in use
63+
// 'agency',
64+
// 'stops',
65+
// 'routes',
66+
// 'trips',
67+
// ...(files.includes('stop_times')
68+
// ? ['stop_times']
69+
// : []
70+
// ),
71+
// ...(files.includes('feed_info')
72+
// ? ['feed_info']
73+
// : []
74+
// ),
75+
// ...(files.includes('pathways')
76+
// ? ['pathways']
77+
// : []
78+
// ),
79+
// ...(files.includes('levels')
80+
// ? ['levels']
81+
// : []
82+
// ),
83+
// // not supported yet: attributions
84+
// ],
785
}
886
}
987

lib/index.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
'use strict'
22

33
module.exports = {
4+
// is_bcp_47_code: require('./prerequisites').is_bcp_47_code,
5+
// is_timezone: require('./prerequisites').is_timezone,
6+
// shape_exists: require('./prerequisites').shape_exists,
47
agency: require('./agency'),
8+
// calendar: require('./calendar'),
9+
// calendar_dates: require('./calendar_dates'),
10+
// service_days: require('./service_days'),
11+
// feed_info: require('./feed_info'),
12+
// frequencies: require('./frequencies'),
13+
// routes: require('./routes'),
14+
// shapes: require('./shapes'),
15+
// stop_times: require('./stop_times'),
16+
// stops: require('./stops'),
17+
// transfers: require('./transfers'),
18+
// trips: require('./trips'),
19+
// pathways: require('./pathways'),
20+
// levels: require('./levels'),
21+
// translations: require('./translations'),
522
}

0 commit comments

Comments
 (0)