class Growi::ImageConverter::Esa
img.esa.io の画像を GROWI にアタッチし直すクラス
Public Class Methods
get_image_from_esa(url, tempdir)
click to toggle source
# File lib/growi/image_converter/esa.rb, line 8 def get_image_from_esa(url, tempdir) tmp_file = URI.parse(url).open image_file = File.open(tempdir + '/' + File.basename(URI.parse(url).path), 'w+b') image_file.write(tmp_file.read) image_file.rewind image_file end
new(client)
click to toggle source
# File lib/growi/image_converter/esa.rb, line 17 def initialize(client) @client = client end
Public Instance Methods
convert(dry_run: true)
click to toggle source
# File lib/growi/image_converter/esa.rb, line 21 def convert(dry_run: true) Signal.trap(:INT) { throw :exit_convert } catch :exit_convert do begin page_list = get_page_list rescue StandardError => e puts 'Error: ' + e.message exit 1 end page_list.each do |page_summary| Dir.mktmpdir do |tempdir| begin page = Growi::ImageConverter::Page.new(page_summary._id, @client, dry_run: dry_run) page.body.scan_markdown_image_esa page.attach_files(page.body.group_by_url, tempdir) page.replace_markdown_image page.update rescue StandardError => e puts 'PageID: ' + page_summary._id + ', Result: Failed to convert' + ', Message: ' + e.message next end end end end end
Private Instance Methods
get_page_list(path_exp = '/')
click to toggle source
# File lib/growi/image_converter/esa.rb, line 50 def get_page_list(path_exp = '/') req = GApiRequestPagesList.new path_exp: path_exp api_return = @client.request(req) raise StandardError, 'Failed to get page list.' unless api_return.ok api_return.data end