diff options
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/import/gtfs.rb | 13 | ||||
| -rw-r--r-- | app/models/referential.rb | 4 | 
2 files changed, 17 insertions, 0 deletions
| diff --git a/app/models/import/gtfs.rb b/app/models/import/gtfs.rb index e6552f936..b0c1070bd 100644 --- a/app/models/import/gtfs.rb +++ b/app/models/import/gtfs.rb @@ -254,6 +254,19 @@ class Import::Gtfs < Import::Base      end    end +  def import_calendar_dates +    source.calendar_dates.each_slice(500) do |slice| +      Chouette::TimeTable.transaction do +        slice.each do |calendar_date| +          time_table = referential.time_tables.find time_tables_by_service_id[calendar_date.service_id] +          date = time_table.dates.build date: Date.parse(calendar_date.date), in_out: calendar_date.exception_type == "1" + +          save_model date +        end +      end +    end +  end +    def save_model(model)      unless model.save        Rails.logger.info "Can't save #{model.class.name} : #{model.errors.inspect}" diff --git a/app/models/referential.rb b/app/models/referential.rb index 65af58873..70148aa8e 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -168,6 +168,10 @@ class Referential < ActiveRecord::Base      Chouette::TimeTable.all    end +  def time_table_dates +    Chouette::TimeTableDate.all +  end +    def timebands      Chouette::Timeband.all    end | 
