lib/earth/air/flight_segment/data_miner.rb in earth-0.11.16 vs lib/earth/air/flight_segment/data_miner.rb in earth-0.11.17
- old
+ new
@@ -2,15 +2,15 @@
FlightSegment.class_eval do
# For import errata
class FlightSegment::Guru
def in_may_2009?(row)
- row ['MONTH'] == 5 and row['YEAR'] == 2009
+ row ['MONTH'].to_i == 5 and row['YEAR'].to_i == 2009
end
def in_july_2009?(row)
- row ['MONTH'] == 7 and row['YEAR'] == 2009
+ row ['MONTH'].to_i == 7 and row['YEAR'].to_i == 2009
end
end
URL = 'http://www.transtats.bts.gov/DownLoad_Table.asp'
FORM_DATA = %{
@@ -184,19 +184,18 @@
data_miner do
process "Start from scratch" do
delete_all
end
-
- form_data_per_month(2009..::Time.now.year).each do |month, form_data|
+ FlightSegment.form_data_per_month(2011..2011).each do |month, form_data|
+ # FlightSegment.form_data_per_month(2009..::Time.now.year).each do |month, form_data|
import "T100 flight segment data for #{month.strftime('%B %Y')}",
:url => URL,
:form_data => form_data,
:compression => :zip,
:glob => '/*.csv',
- # FIXME TODO 6/6/2011 the errata doesn't work - still doesn't fill in missing airline in May and July 2009
- :errata => { :url => 'https://spreadsheets.google.com/spreadsheet/pub?key=0AoQJbWqPrREqdGxpYU1qWFR3d0syTVMyQVVOaDd0V3c&output=csv', :responder => FlightSegment::Guru.new },
- :select => lambda { |record| record['DEPARTURES_PERFORMED'].to_i > 0 } do
+ :errata => { :url => "file://#{Earth::ERRATA_DIR}/flight_segment/bts_errata.csv", :responder => FlightSegment::Guru.new },
+ :select => proc { |record| record['DEPARTURES_PERFORMED'].to_i > 0 } do
key 'row_hash'
store 'origin_airport_iata_code', :field_name => 'ORIGIN'
store 'origin_country_iso_3166_code', :field_name => 'ORIGIN_COUNTRY'
store 'destination_airport_iata_code', :field_name => 'DEST'
store 'destination_country_iso_3166_code', :field_name => 'DEST_COUNTRY'