class CartoCSSHelper::DataFileLoader
Public Class Methods
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
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
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
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