Sha256: 81f3585d740456178d18b5ad661c64a6a9f0f0f0bb5103f11655f6a95160ac76

Contents?: true

Size: 851 Bytes

Versions: 5

Compression:

Stored size: 851 Bytes

Contents

# frozen_string_literal: true

require "csv"
require "net/http"
require "tempfile"
require "uri"

namespace :cities do
  desc "Import cities from Istat remote CSV"
  task :import do
    tempfile = Tempfile.new
    tempfile.write Net::HTTP.get(
      URI("https://raw.githubusercontent.com/italia/anpr/master/src/archivi/ANPR_archivio_comuni.csv")
    )

    output_string = CSV.generate do |csv|
      csv << %w[code province name created_on deleted_on]

      CSV.foreach(tempfile.path, headers: true) do |row|
        csv << [
          row["CODCATASTALE"],
          row["SIGLAPROVINCIA"],
          row["DENOMINAZIONE_IT"].upcase,
          row["DATAISTITUZIONE"],
          row["DATACESSAZIONE"]
        ]
      end
    end

    File.write("lib/itax_code/data/cities.csv", output_string)
  ensure
    tempfile.close
    tempfile.unlink
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
itax_code-2.0.0 rakelib/cities.rake
itax_code-1.0.1 rakelib/cities.rake
itax_code-1.0.0 rakelib/cities.rake
itax_code-0.4.1 rakelib/cities.rake
itax_code-0.4.0 rakelib/cities.rake