class ShackKit::Data::QRZ_PL

Constants

QUERY_URL

Public Class Methods

lookup(callsign) click to toggle source
# File lib/shack_kit/data/qrz_pl.rb, line 6
def self.lookup(callsign)
  response = HTTP.post("http://qrz.pl/callbook.asp", form: { "F_DOMENA": callsign })
  document = Oga.parse_html(response.to_s)
  return { error: "Not found: #{callsign}"} unless
    document.xpath('//span[contains(@class, "znak")]').text == callsign
  details = document.xpath('//span[contains(@class, "dane")]').map(&:text)
  { callsign: callsign, details: details, grid: grid_lookup(details) }
end

Private Class Methods

grid_lookup(details) click to toggle source
# File lib/shack_kit/data/qrz_pl.rb, line 17
def self.grid_lookup(details)
  return nil unless grid_info = details.select{ |d| d =~ /^LOKATOR\: [A-Z]{2}\d{2}/}.first
  grid_info.split.last
end