homebrew-core/cmd/brew-aspell-dictionaries.rb
Mike McQuaid 1dfc565550 brew-aspell-dictionaries: use new Resource#fetch API.
Also improve the code and output so we output everything in a
copy-pasteable format at the end.
2019-06-15 20:44:46 +01:00

45 lines
992 B
Ruby
Executable file

#: * `aspell-dictionaries`:
#: Generates the new dictionaries for the `aspell` formula.
require "open-uri"
require "resource"
require "formula"
dict_url = "https://ftp.gnu.org/gnu/aspell/dict"
dict_mirror = "https://ftpmirror.gnu.org/aspell/dict"
languages = {}
URI.parse("#{dict_url}/0index.html").open do |content|
content.each_line do |line|
break if %r{^</table} =~ line
next unless /^<tr><td><a/ =~ line
fields = line.split('"')
lang = fields[1]
path = fields[3]
lang.tr!("-", "_")
languages[lang] = path
end
end
resources = languages.map do |lang, path|
r = Resource.new(lang)
r.owner = Formulary.factory("aspell")
r.url "#{dict_url}/#{path}"
r.mirror "#{dict_mirror}/#{path}"
r
end
resources.each {|r| r.fetch(verify_download_integrity: false)}
resources.each do |r|
puts <<-EOS
resource "#{r.name}" do
url "#{r.url}"
mirror "#{r.mirrors.first}"
sha256 "#{r.cached_download.sha256}"
end
EOS
end