Skip to content

Commit 0bffef5

Browse files
agency parser: use default timezone
1 parent a426b61 commit 0bffef5

File tree

8 files changed

+33
-21
lines changed

8 files changed

+33
-21
lines changed

include/nigiri/loader/gtfs/agency.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ agency_map_t read_agencies(source_idx_t,
1818
timetable&,
1919
tz_map&,
2020
std::string_view file_content,
21+
std::string_view default_tz,
2122
script_runner const& = script_runner{});
2223

2324
} // namespace nigiri::loader::gtfs

src/loader/gtfs/agency.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ agency_map_t read_agencies(source_idx_t const src,
1919
timetable& tt,
2020
tz_map& timezones,
2121
std::string_view file_content,
22+
std::string_view default_tz,
2223
script_runner const& r) {
2324
struct agency_row {
2425
utl::csv_col<utl::cstr, UTL_NAME("agency_id")> id_;
@@ -35,7 +36,9 @@ agency_map_t read_agencies(source_idx_t const src,
3536
a.id_->view(),
3637
a.name_->view(),
3738
a.url_->view(),
38-
get_tz_idx(tt, timezones, a.tz_name_->view()),
39+
get_tz_idx(tt, timezones,
40+
a.tz_name_->view().empty() ? default_tz
41+
: a.tz_name_->view()),
3942
tt,
4043
timezones};
4144
map.emplace(a.id_->view(), process_agency(r, x)

src/loader/gtfs/load_timetable.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ void load_timetable(loader_config const& config,
114114
auto const user_script = script_runner{config.user_script_};
115115
auto const progress_tracker = utl::get_active_progress_tracker();
116116
auto timezones = tz_map{};
117-
auto agencies =
118-
read_agencies(src, tt, timezones, load(kAgencyFile).data(), user_script);
117+
auto agencies = read_agencies(src, tt, timezones, load(kAgencyFile).data(),
118+
config.default_tz_, user_script);
119119
auto const [stops, seated_transfers] = read_stops(
120120
src, tt, timezones, load(kStopFile).data(), load(kTransfersFile).data(),
121121
config.link_stop_distance_, user_script);

test/loader/gtfs/agency_test.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ using namespace nigiri::loader::gtfs;
1212
TEST(gtfs, agency) {
1313
timetable tt;
1414
tz_map timezones;
15-
auto const agencies =
16-
read_agencies(source_idx_t{0}, tt, timezones,
17-
example_files().get_file(kAgencyFile).data());
15+
auto const agencies = read_agencies(
16+
source_idx_t{0}, tt, timezones,
17+
example_files().get_file(kAgencyFile).data(), "Europe/Berlin");
1818

1919
auto const dta_it = agencies.find("DTA");
2020
ASSERT_NE(dta_it, end(agencies));

test/loader/gtfs/route_test.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ TEST(gtfs, read_routes_example_data) {
1616
tz_map timezones;
1717

1818
auto agencies = read_agencies(source_idx_t{0}, tt, timezones,
19-
example_files().get_file(kAgencyFile).data());
19+
example_files().get_file(kAgencyFile).data(),
20+
"Europe/Berlin");
2021
auto const routes =
2122
read_routes(source_idx_t{}, tt, timezones, agencies,
2223
example_files().get_file(kRoutesFile).data(), "CET");
@@ -48,7 +49,8 @@ TEST(gtfs, read_routes_berlin_data) {
4849
tz_map timezones;
4950

5051
auto agencies = read_agencies(source_idx_t{0}, tt, timezones,
51-
berlin_files().get_file(kAgencyFile).data());
52+
berlin_files().get_file(kAgencyFile).data(),
53+
"Europe/Berlin");
5254
auto const routes =
5355
read_routes(source_idx_t{}, tt, timezones, agencies,
5456
berlin_files().get_file(kRoutesFile).data(), "CET");

test/loader/gtfs/stop_time_test.cc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,12 @@ TEST(gtfs, read_stop_times_example_data) {
172172
tz_map timezones;
173173

174174
auto const config = loader_config{};
175-
auto agencies = read_agencies(source_idx_t{0}, tt, timezones,
176-
files.get_file(kAgencyFile).data());
177-
auto const routes = read_routes({}, tt, timezones, agencies,
178-
files.get_file(kRoutesFile).data(), "CET");
175+
auto agencies =
176+
read_agencies(source_idx_t{0}, tt, timezones,
177+
files.get_file(kAgencyFile).data(), "Europe/Berlin");
178+
auto const routes =
179+
read_routes({}, tt, timezones, agencies,
180+
files.get_file(kRoutesFile).data(), "Europe/Berlin");
179181
auto const dates =
180182
read_calendar_date(files.get_file(kCalendarDatesFile).data());
181183
auto const calendar = read_calendar(files.get_file(kCalenderFile).data());

test/loader/gtfs/test_data.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ S8,24th St. Mission Station,,37.752240,-122.418450,http://www.bart.gov/stations/
3333
constexpr auto const example_agency_file_content = std::string_view{
3434
R"(agency_id,agency_name,agency_url,agency_timezone
3535
DTA,Demo Transit Authority,http://google.com,America/Los_Angeles
36-
"11","Schweizerische Bundesbahnen SBB","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300 "
36+
"11","Schweizerische Bundesbahnen SBB","http://www.sbb.ch/",,"DE","0900 300 300 "
3737
)"};
3838

3939
auto const example_routes_file_content = std::string_view{

test/loader/gtfs/trip_test.cc

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@ TEST(gtfs, read_trips_example_data) {
2828
tz_map timezones;
2929

3030
auto const config = loader_config{};
31-
auto agencies = read_agencies(source_idx_t{}, tt, timezones,
32-
files.get_file(kAgencyFile).data());
33-
auto const routes = read_routes({}, tt, timezones, agencies,
34-
files.get_file(kRoutesFile).data(), "CET");
31+
auto agencies =
32+
read_agencies(source_idx_t{}, tt, timezones,
33+
files.get_file(kAgencyFile).data(), "Europe/Berlin");
34+
auto const routes =
35+
read_routes({}, tt, timezones, agencies,
36+
files.get_file(kRoutesFile).data(), "Europe/Berlin");
3537
auto const dates =
3638
read_calendar_date(files.get_file(kCalendarDatesFile).data());
3739
auto const calendar = read_calendar(files.get_file(kCalenderFile).data());
@@ -63,10 +65,12 @@ TEST(gtfs, read_trips_berlin_data) {
6365
tz_map timezones;
6466

6567
auto const config = loader_config{};
66-
auto agencies = read_agencies(source_idx_t{0}, tt, timezones,
67-
files.get_file(kAgencyFile).data());
68-
auto const routes = read_routes({}, tt, timezones, agencies,
69-
files.get_file(kRoutesFile).data(), "CET");
68+
auto agencies =
69+
read_agencies(source_idx_t{0}, tt, timezones,
70+
files.get_file(kAgencyFile).data(), "Europe/Berlin");
71+
auto const routes =
72+
read_routes({}, tt, timezones, agencies,
73+
files.get_file(kRoutesFile).data(), "Europe/Berlin");
7074
auto const dates =
7175
read_calendar_date(files.get_file(kCalendarDatesFile).data());
7276
auto const calendar = read_calendar(files.get_file(kCalenderFile).data());

0 commit comments

Comments
 (0)