2
0
mirror of https://github.com/moebooru/moebooru synced 2025-08-22 01:47:48 +00:00
2022-06-11 03:43:53 +09:00

100 lines
2.7 KiB
Ruby

module Post::ImageStore
module LocalFlat
def file_path
"#{Rails.root}/public/data/#{file_name}"
end
def file_url
if CONFIG["use_pretty_image_urls"]
CONFIG["url_base"] + "/image/#{md5}/#{url_encode(pretty_file_name)}.#{file_ext}"
else
CONFIG["url_base"] + "/data/#{file_name}"
end
end
def preview_path
if image?
"#{Rails.root}/public/data/preview/#{md5}.jpg"
else
"#{Rails.root}/public/download-preview.png"
end
end
def sample_path
"#{Rails.root}/public/data/sample/" + CONFIG["sample_filename_prefix"] + "#{md5}.jpg"
end
def preview_url
if status == "deleted"
ApplicationController.helpers.image_path 'deleted-preview.png', host: base_url(:assets)
elsif image?
CONFIG["url_base"] + "/data/preview/#{md5}.jpg"
else
CONFIG["url_base"] + "/download-preview.png"
end
end
def jpeg_path
"#{Rails.root}/public/data/jpeg/#{md5}.jpg"
end
def store_jpeg_url
if CONFIG["use_pretty_image_urls"]
CONFIG["url_base"] + "/jpeg/#{md5}/#{url_encode(pretty_file_name(:type => :jpeg))}.jpg"
else
CONFIG["url_base"] + "/data/jpeg/#{md5}.jpg"
end
end
def store_sample_url
if CONFIG["use_pretty_image_urls"]
path = "/sample/#{md5}/#{url_encode(pretty_file_name(:type => :sample))}.jpg"
else
path = "/data/sample/" + CONFIG["sample_filename_prefix"] + "#{md5}.jpg"
end
CONFIG["url_base"] + path
end
def frame_url(filename, _frame_number)
"#{CONFIG["url_base"]}/data/frame/#{filename}"
end
def frame_preview_url(filename, _frame_number)
"#{CONFIG["url_base"]}/data/frame-preview/#{filename}"
end
def delete_file
FileUtils.rm_f(file_path)
FileUtils.rm_f(preview_path) if image?
FileUtils.rm_f(sample_path) if image?
FileUtils.rm_f(jpeg_path) if image?
end
def move_file
FileUtils.mv(tempfile_path, file_path)
FileUtils.chmod(0664, file_path)
if image?
FileUtils.mkdir_p(File.dirname(preview_path), :mode => 0775)
FileUtils.mv(tempfile_preview_path, preview_path)
FileUtils.chmod(0664, preview_path)
end
if File.exist?(tempfile_sample_path)
FileUtils.mkdir_p(File.dirname(sample_path), :mode => 0775)
FileUtils.mv(tempfile_sample_path, sample_path)
FileUtils.chmod(0664, sample_path)
end
if File.exist?(tempfile_jpeg_path)
FileUtils.mkdir_p(File.dirname(jpeg_path), :mode => 0775)
FileUtils.mv(tempfile_jpeg_path, jpeg_path)
FileUtils.chmod(0664, jpeg_path)
end
delete_tempfile
end
end
end