Sha256: 6fdce04bcd6f5d5e2993c104d5a6f395cfef237f11ea70ea1c948ede3263f9f8

Contents?: true

Size: 920 Bytes

Versions: 1

Compression:

Stored size: 920 Bytes

Contents

#!/usr/bin/env ruby
# encoding:UTF-8

require 'wukong'
require 'pathname'
load '/home/dlaw/dev/wukong/examples/wikipedia/munging_utils.rb'

module WeatherFilter
  class Mapper < Wukong::Streamer::LineStreamer

    WBAN_FILENAME = '/home/dlaw/dev/wukong/examples/airports/wbans.txt'
    USA_WBAN_FILENAME = '/home/dlaw/dev/wukong/examples/airports/usa_wbans.txt'
    FORTY_WBANS_FILENAME = '/home/dlaw/dev/wukong/examples/airports/40_wbans.txt'

    def initialize
      @wbans = []
      wban_file = File.open(FORTY_WBANS_FILENAME)
      wban_file.each_line do |line|
        @wbans << line[0..-2]
      end
    end

    def process line
      MungingUtils.guard_encoding(line) do |clean_line|
        wban = Pathname(ENV['map_input_file']).basename.to_s.split('-')[1]
        if @wbans.include? wban
          yield line
        end
      end
    end
  end
end

Wukong::Script.new(
  WeatherFilter::Mapper,
  nil
).run

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wukong-3.0.0.pre2 examples/munging/airports/filter_weather_reports.rb