diff options
| author | Alban Peignier | 2018-03-31 21:54:55 +0200 |
|---|---|---|
| committer | Alban Peignier | 2018-03-31 21:54:55 +0200 |
| commit | f41a85fa419d3598c2edec2de1eef0f69c09e62c (patch) | |
| tree | 03880ef1d6f4d8692d1a5bf7753afd066ee8c9ed /app/models/import/gtfs.rb | |
| parent | fc53a6c6c1fb95ce46e13f501344d71a6d1e6de9 (diff) | |
| download | chouette-core-f41a85fa419d3598c2edec2de1eef0f69c09e62c.tar.bz2 | |
Add calendar imports to Import::Gtfs. Refs #6368
Diffstat (limited to 'app/models/import/gtfs.rb')
| -rw-r--r-- | app/models/import/gtfs.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/models/import/gtfs.rb b/app/models/import/gtfs.rb index 5b332315d..75ff45f8b 100644 --- a/app/models/import/gtfs.rb +++ b/app/models/import/gtfs.rb @@ -111,6 +111,8 @@ class Import::Gtfs < Import::Base vehicle_journey.published_journey_name = trip.headsign.presence || trip.id save vehicle_journey + vehicle_journey.time_tables << referential.time_tables.find(time_tables_by_service_id[trip.service_id]) + vehicle_journey_by_trip_id[trip.id] = vehicle_journey.id end end @@ -143,6 +145,24 @@ class Import::Gtfs < Import::Base end end + def time_tables_by_service_id + @time_tables_by_service_id ||= {} + end + + def import_calendars + source.calendars.each do |calendar| + time_table = referential.time_tables.build comment: "Calendar #{calendar.service_id}" + Chouette::TimeTable.all_days.each do |day| + time_table.send("#{day}=", calendar.send(day)) + end + time_table.periods.build period_start: calendar.start_date, period_end: calendar.end_date + + save time_table + + time_tables_by_service_id[calendar.service_id] = time_table.id + end + end + def save(model) unless model.save Rails.logger.info "Can't save #{model.class.name} : #{model.errors.inspect}" |
