class CartoCSSHelper::DataFileLoader

Public Class Methods

get_command_to_load_using_osmpgsql(data_filename) click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 14
def self.get_command_to_load_using_osmpgsql(data_filename)
  return "osm2pgsql --create --slim --drop --cache 10 --number-processes 1 --hstore --unlogged --style #{Configuration.get_style_file_location} --multi-geometry '#{data_filename}'"
end
get_filename_of_recently_loaded_file() click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 9
def self.get_filename_of_recently_loaded_file
  return nil if @@loaded_filename == Configuration.get_data_filename
  return @@loaded_filename
end
is_already_loaded(data_filename) click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 18
def self.is_already_loaded(data_filename)
  if get_filename_of_recently_loaded_file == data_filename
    puts "\tavoided reloading the same file! <#{data_filename}>"
    return true
  end
  return false
end
load_data_into_database(data_filename, debug = false) click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 26
def self.load_data_into_database(data_filename, debug = false)
  return if is_already_loaded(data_filename)
  start_time = Time.now
  puts "\tloading data into database <#{data_filename}>"
  @@loaded_filename = nil
  begin
    execute_command(get_command_to_load_using_osmpgsql(data_filename), debug, ignore_stderr_presence: true) # osm2pgsql outputs everything to stderr
  rescue FailedCommandException => e
    puts 'loading data into database failed'
    raise e if debug
    puts 'retry with enabled debug'
    load_data_into_database(data_filename, true)
  end
  @@loaded_filename = data_filename
  puts "\tloading lasted #{(Time.now - start_time).to_i}s"
end