diff options
| author | Zog | 2018-02-21 08:08:40 +0100 | 
|---|---|---|
| committer | Zog | 2018-02-21 16:18:34 +0100 | 
| commit | 70396ae000bfc5c2b792c17198efc2a8d87d9ebf (patch) | |
| tree | dad5558cd81b96b2532eae140293cf8f2b680ead /lib | |
| parent | a357c68cc96c642f15991a85e3982f4553c32a22 (diff) | |
| download | chouette-core-70396ae000bfc5c2b792c17198efc2a8d87d9ebf.tar.bz2 | |
Move importers outputs in logs
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/tasks/imports.rake | 37 | 
1 files changed, 25 insertions, 12 deletions
| diff --git a/lib/tasks/imports.rake b/lib/tasks/imports.rake index b91ff7efb..f01d3f34f 100644 --- a/lib/tasks/imports.rake +++ b/lib/tasks/imports.rake @@ -11,8 +11,8 @@ namespace :import do      NetexImport.abort_old    end -  def importer_output_to_csv importer -    filepath = "./#{importer.configuration_name}_#{Time.now.strftime "%y%m%d%H%M"}_out.csv" +  def importer_output_to_csv importer, output_dir +    filepath =  File.join output_dir, + "#{importer.configuration_name}_#{Time.now.strftime "%y%m%d%H%M"}_out.csv"      cols = %w(line kind event message error)      if importer.reload.journal.size > 0        keys = importer.journal.first["row"].map(&:first) @@ -27,13 +27,17 @@ namespace :import do    end    desc "import the given file with the corresponding importer" -  task :import, [:configuration_name, :filepath, :referential_id] => :environment do |t, args| +  task :import, [:configuration_name, :filepath, :referential_id, :output_dir] => :environment do |t, args| +    args.with_defaults(output_dir: "./log/importers/") +    FileUtils.mkdir_p args[:output_dir] +      importer = SimpleImporter.create configuration_name: args[:configuration_name], filepath: args[:filepath] +      if args[:referential_id].present?        referential = Referential.find args[:referential_id]        importer.configure do |config|          config.add_value :referential, referential -        config.context = {referential: referential} +        config.context = {referential: referential, output_dir: args[:output_dir]}        end      end      puts "\e[33m***\e[0m Start importing" @@ -43,17 +47,20 @@ namespace :import do        raise      ensure        puts "\n\e[33m***\e[0m Import done, status: " + (importer.status == "success" ? "\e[32m" : "\e[31m" ) + (importer.status || "") + "\e[0m" -      importer_output_to_csv importer +      importer_output_to_csv importer, args[:output_dir]      end    end    desc "import the given file with the corresponding importer in the given StopAreaReferential"    task :import_in_stop_area_referential, [:referential_id, :configuration_name, :filepath] => :environment do |t, args| +    args.with_defaults(output_dir: "./log/importers/") +    FileUtils.mkdir_p args[:output_dir] +      referential = StopAreaReferential.find args[:referential_id]      importer = SimpleImporter.create configuration_name: args[:configuration_name], filepath: args[:filepath]      importer.configure do |config|        config.add_value :stop_area_referential, referential -      config.context = {stop_area_referential: referential} +      config.context = {stop_area_referential: referential, output_dir: args[:output_dir]}      end      puts "\e[33m***\e[0m Start importing"      begin @@ -62,19 +69,22 @@ namespace :import do        raise      ensure        puts "\n\e[33m***\e[0m Import done, status: " + (importer.status == "success" ? "\e[32m" : "\e[31m" ) + (importer.status || "") + "\e[0m" -      importer_output_to_csv importer +      importer_output_to_csv importer, args[:output_dir]      end    end    desc "import the given routes files"    task :import_routes, [:referential_id, :configuration_name, :mapping_filepath, :filepath] => :environment do |t, args| +    args.with_defaults(output_dir: "./log/importers/") +    FileUtils.mkdir_p args[:output_dir] +      referential = Referential.find args[:referential_id]      referential.switch      stop_area_referential = referential.stop_area_referential      importer = SimpleImporter.create configuration_name: args[:configuration_name], filepath: args[:filepath]      importer.configure do |config|        config.add_value :stop_area_referential, referential -      config.context = {stop_area_referential: stop_area_referential, mapping_filepath: args[:mapping_filepath]} +      config.context = {stop_area_referential: stop_area_referential, mapping_filepath: args[:mapping_filepath], output_dir: args[:output_dir]}      end      puts "\e[33m***\e[0m Start importing"      begin @@ -83,17 +93,20 @@ namespace :import do        raise      ensure        puts "\n\e[33m***\e[0m Import done, status: " + (importer.status == "success" ? "\e[32m" : "\e[31m" ) + (importer.status || "") + "\e[0m" -      importer_output_to_csv importer +      importer_output_to_csv importer, args[:output_dir]      end    end    desc "import the given file with the corresponding importer in the given LineReferential" -  task :import_in_line_referential, [:referential_id, :configuration_name, :filepath] => :environment do |t, args| +  task :import_in_line_referential, [:referential_id, :configuration_name, :filepath, :output_dir] => :environment do |t, args| +    args.with_defaults(output_dir: "./log/importers/") +    FileUtils.mkdir_p args[:output_dir] +      referential = LineReferential.find args[:referential_id]      importer = SimpleImporter.create configuration_name: args[:configuration_name], filepath: args[:filepath]      importer.configure do |config|        config.add_value :line_referential, referential -      config.context = {line_referential: referential} +      config.context = {line_referential: referential, output_dir: args[:output_dir]}      end      puts "\e[33m***\e[0m Start importing"      begin @@ -102,7 +115,7 @@ namespace :import do        raise      ensure        puts "\n\e[33m***\e[0m Import done, status: " + (importer.status == "success" ? "\e[32m" : "\e[31m" ) + (importer.status || "") + "\e[0m" -      importer_output_to_csv importer +      importer_output_to_csv importer, args[:output_dir]      end    end  end | 
