lib/asciidoctor/ietf/validate.rb in metanorma-ietf-2.3.6 vs lib/asciidoctor/ietf/validate.rb in metanorma-ietf-2.4.0
- old
+ new
@@ -1,6 +1,6 @@
-require "open-uri"
+require "metanorma/ietf/data/workgroups"
module Asciidoctor
module Ietf
class Converter < ::Asciidoctor::Standoc::Converter
def content_validate(doc)
@@ -32,62 +32,11 @@
content_validate(doc)
schema_validate(formattedstr_strip(doc.dup),
File.join(File.dirname(__FILE__), "ietf.rng"))
end
- def wgcache_name
- "#{Dir.home}/.metanorma-ietf-workgroup-cache.json"
- end
-
- def open_wg_cache(node)
- node.attr("flush-caches") == "true" and
- FileUtils.rm wgcache_name, force: true
- wg = []
- if Pathname.new(wgcache_name).file?
- begin
- File.open(wgcache_name, "r") { |f| wg = JSON.parse(f.read) }
- rescue Exception => e
- warn "Cache #{wgcache_name} is invalid, drop it"
- end
- end
- [wg, wgcache_name]
- end
-
- def cache_workgroup_ietf(wg, _b)
- warn "Reading workgroups from https://tools.ietf.org/wg/..."
- URI.open("https://tools.ietf.org/wg/") do |f|
- f.each_line do |l|
- l.scan(%r{<td width="50%" style='padding: 0 1ex'>([^<]+)</td>}) do |w|
- wg << w[0].gsub(/\s+$/, "").gsub(/ Working Group$/, "")
- end
- end
- end
- wg
- end
-
- def cache_workgroup_irtf(wg, _b)
- warn "Reading workgroups from https://irtf.org/groups..."
- URI.open("https://irtf.org/groups", ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE) do |f|
- f.each_line do |l|
- l.scan(%r{<a title="([^"]+) Research Group"[^>]+>([^<]+)<}) do |w|
- wg << w[0].gsub(/\s+$/, "")
- wg << w[1].gsub(/\s+$/, "") # abbrev
- end
- end
- end
- wg
- end
-
- def cache_workgroup(node)
- wg, wgcache_name = open_wg_cache(node)
- if wg.empty?
- File.open(wgcache_name, "w") do |b|
- wg = cache_workgroup_ietf(wg, b)
- wg = cache_workgroup_irtf(wg, b)
- b << wg.to_json
- end
- end
- wg
+ def cache_workgroup(_node)
+ Metanorma::Ietf::Data::WORKGROUPS
end
end
end
end