Sha256: 6bcedb20955b24cff716330ced4a63b88c82367a8c9763c0e8375e85f9da0dee

Contents?: true

Size: 983 Bytes

Versions: 29

Compression:

Stored size: 983 Bytes

Contents

#!/usr/bin/env ruby
require 'rubygems'
require 'nokogiri'
require 'yaml'

# Download XML file from http://www.uke.gov.pl/tablice/NumerPlmn-list.do?execution=e5s1

data = {}
doc = Nokogiri::XML.parse(File.read(ARGV[0]))

doc.xpath('//numery/plmn').each do |node|
  number = node.xpath('numer').inner_text
  operator = node.xpath('operator').inner_text

  m = number.match /([0-9]+)\(([0-9,-]+)\)/
  numbers = []

  data[operator] = [] unless data.has_key?(operator)

  if m
    number = m[1]
    m[2].split(',').each do |i|
      range = i.split('-')

      if range.length > 1
        Range.new(range[0].to_i,range[1].to_i == 0 ? 10 : range[1].to_i).each do |i|
          numbers.push "#{number}#{i == 10 ? 0 : i}"
        end
      else
        numbers.push "#{number}#{i}"
      end
    end

    data[operator].push numbers
    data[operator].flatten!(1)
  else
    data[operator].push number
  end
end

File.open("yaml/operators.yml", "w") do |file|
  file.write data.to_yaml
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
polish_cell_number_checker-0.0.31 script/operators_data_parser.rb
polish_cell_number_checker-0.0.30 script/operators_data_parser.rb
polish_cell_number_checker-0.0.29 script/operators_data_parser.rb
polish_cell_number_checker-0.0.27 script/operators_data_parser.rb
polish_cell_number_checker-0.0.26 script/operators_data_parser.rb
polish_cell_number_checker-0.0.25 script/operators_data_parser.rb
polish_cell_number_checker-0.0.24 script/operators_data_parser.rb
polish_cell_number_checker-0.0.23 script/operators_data_parser.rb
polish_cell_number_checker-0.0.22 script/operators_data_parser.rb
polish_cell_number_checker-0.0.21 script/operators_data_parser.rb
polish_cell_number_checker-0.0.20 script/operators_data_parser.rb
polish_cell_number_checker-0.0.19 script/operators_data_parser.rb
polish_cell_number_checker-0.0.18 script/operators_data_parser.rb
polish_cell_number_checker-0.0.17 script/operators_data_parser.rb
polish_cell_number_checker-0.0.16 script/operators_data_parser.rb
polish_cell_number_checker-0.0.15 script/operators_data_parser.rb
polish_cell_number_checker-0.0.14 script/operators_data_parser.rb
polish_cell_number_checker-0.0.13 script/operators_data_parser.rb
polish_cell_number_checker-0.0.12 script/operators_data_parser.rb
polish_cell_number_checker-0.0.11 script/operators_data_parser.rb