From c0171f49a64fd7077fa5745aafa0744d95bc9894 Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 1 Jan 2020 13:46:05 -0600 Subject: [PATCH] storage manager: add option for storing files under `original/` dir. Add option to allow for storing original files under an `original/` subdir. Previously preview, crop, and sample files were stored under subdirs but original files were stored in the top-level directory. This is optional for backwards compatibility. --- app/logical/storage_manager.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/logical/storage_manager.rb b/app/logical/storage_manager.rb index 361fab45e..b5b89af5d 100644 --- a/app/logical/storage_manager.rb +++ b/app/logical/storage_manager.rb @@ -3,14 +3,15 @@ class StorageManager DEFAULT_BASE_DIR = "#{Rails.root}/public/data" - attr_reader :base_url, :base_dir, :hierarchical, :tagged_filenames, :large_image_prefix + attr_reader :base_url, :base_dir, :hierarchical, :tagged_filenames, :large_image_prefix, :original_subdir - def initialize(base_url: default_base_url, base_dir: DEFAULT_BASE_DIR, hierarchical: false, tagged_filenames: Danbooru.config.enable_seo_post_urls, large_image_prefix: Danbooru.config.large_image_prefix) + def initialize(base_url: default_base_url, base_dir: DEFAULT_BASE_DIR, hierarchical: false, tagged_filenames: Danbooru.config.enable_seo_post_urls, large_image_prefix: Danbooru.config.large_image_prefix, original_subdir: "") @base_url = base_url.chomp("/") @base_dir = base_dir @hierarchical = hierarchical @tagged_filenames = tagged_filenames @large_image_prefix = large_image_prefix + @original_subdir = original_subdir end def default_base_url @@ -62,7 +63,7 @@ class StorageManager elsif type == :large && post.has_large? "#{base_url}/sample/#{subdir}#{seo_tags}#{file}" else - "#{base_url}/#{subdir}#{seo_tags}#{post.md5}.#{post.file_ext}" + "#{base_url}/#{original_subdir}#{subdir}#{seo_tags}#{post.md5}.#{post.file_ext}" end end