rubocop: fix various style issues.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
class StorageManager::Local < StorageManager
|
||||
DEFAULT_PERMISSIONS = 0644
|
||||
DEFAULT_PERMISSIONS = 0o644
|
||||
|
||||
def store(io, dest_path)
|
||||
temp_path = dest_path + "-" + SecureRandom.uuid + ".tmp"
|
||||
|
||||
@@ -1,35 +1,33 @@
|
||||
=begin
|
||||
|
||||
Generalizes the hybrid storage manager to be more declarative in
|
||||
syntax. Matches are executed in order of appearance so the first
|
||||
matching manager is returned. You should always add at least one
|
||||
manager with no constraints as a default case.
|
||||
|
||||
#
|
||||
# Generalizes the hybrid storage manager to be more declarative in
|
||||
# syntax. Matches are executed in order of appearance so the first
|
||||
# matching manager is returned. You should always add at least one
|
||||
# manager with no constraints as a default case.
|
||||
#
|
||||
### Example
|
||||
|
||||
StorageManager::Match.new do |matcher|
|
||||
matcher.add_manager(type: :crop) do
|
||||
StorageManager::SFTP.new("raikou3.donmai.us", base_url: "https://raikou3.donmai.us", hierarchical: true, base_dir: "/var/www/raikou3")
|
||||
end
|
||||
|
||||
matcher.add_manager(id: 1..850_000) do
|
||||
StorageManager::SFTP.new("raikou1.donmai.us", base_url: "https://raikou1.donmai.us", hierarchical: true, base_dir: "/var/www/raikou1")
|
||||
end
|
||||
|
||||
matcher.add_manager(id: 850_001..2_000_000) do
|
||||
StorageManager::SFTP.new("raikou2.donmai.us", base_url: "https://raikou2.donmai.us", hierarchical: true, base_dir: "/var/www/raikou2")
|
||||
end
|
||||
|
||||
matcher.add_manager(id: 1..3_000_000, type: [:large, :original]) do
|
||||
StorageManager::SFTP.new(*Danbooru.config.all_server_hosts, base_url: "https://hijiribe.donmai.us/data")
|
||||
end
|
||||
|
||||
matcher.add_manager({}) do
|
||||
StorageManager::SFTP.new(*Danbooru.config.all_server_hosts, base_url: "#{CurrentUser.root_url}/data")
|
||||
end
|
||||
end
|
||||
|
||||
=end
|
||||
#
|
||||
# StorageManager::Match.new do |matcher|
|
||||
# matcher.add_manager(type: :crop) do
|
||||
# StorageManager::SFTP.new("raikou3.donmai.us", base_url: "https://raikou3.donmai.us", hierarchical: true, base_dir: "/var/www/raikou3")
|
||||
# end
|
||||
#
|
||||
# matcher.add_manager(id: 1..850_000) do
|
||||
# StorageManager::SFTP.new("raikou1.donmai.us", base_url: "https://raikou1.donmai.us", hierarchical: true, base_dir: "/var/www/raikou1")
|
||||
# end
|
||||
#
|
||||
# matcher.add_manager(id: 850_001..2_000_000) do
|
||||
# StorageManager::SFTP.new("raikou2.donmai.us", base_url: "https://raikou2.donmai.us", hierarchical: true, base_dir: "/var/www/raikou2")
|
||||
# end
|
||||
#
|
||||
# matcher.add_manager(id: 1..3_000_000, type: [:large, :original]) do
|
||||
# StorageManager::SFTP.new(*Danbooru.config.all_server_hosts, base_url: "https://hijiribe.donmai.us/data")
|
||||
# end
|
||||
#
|
||||
# matcher.add_manager({}) do
|
||||
# StorageManager::SFTP.new(*Danbooru.config.all_server_hosts, base_url: "#{CurrentUser.root_url}/data")
|
||||
# end
|
||||
# end
|
||||
#
|
||||
|
||||
class StorageManager::Match < StorageManager
|
||||
def initialize
|
||||
@@ -56,7 +54,7 @@ class StorageManager::Match < StorageManager
|
||||
end
|
||||
|
||||
if params[:type] && constraints[:type]
|
||||
if constraints[:type].respond_to?(:include?)
|
||||
if constraints[:type].respond_to?(:include?)
|
||||
if !constraints[:type].include?(params[:type])
|
||||
match = false
|
||||
end
|
||||
@@ -109,4 +107,3 @@ class StorageManager::Match < StorageManager
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
class StorageManager::SFTP < StorageManager
|
||||
DEFAULT_PERMISSIONS = 0644
|
||||
DEFAULT_PERMISSIONS = 0o644
|
||||
|
||||
# http://net-ssh.github.io/net-ssh/Net/SSH.html#method-c-start
|
||||
DEFAULT_SSH_OPTIONS = {
|
||||
timeout: 10,
|
||||
logger: Rails.logger,
|
||||
verbose: :fatal,
|
||||
non_interactive: true,
|
||||
non_interactive: true
|
||||
}
|
||||
|
||||
attr_reader :hosts, :ssh_options
|
||||
@@ -22,22 +22,20 @@ class StorageManager::SFTP < StorageManager
|
||||
dest_backup_path = dest_path + "-" + SecureRandom.uuid + ".bak"
|
||||
|
||||
each_host do |host, sftp|
|
||||
begin
|
||||
sftp.upload!(file.path, temp_upload_path)
|
||||
sftp.setstat!(temp_upload_path, permissions: DEFAULT_PERMISSIONS)
|
||||
sftp.upload!(file.path, temp_upload_path)
|
||||
sftp.setstat!(temp_upload_path, permissions: DEFAULT_PERMISSIONS)
|
||||
|
||||
# `rename!` can't overwrite existing files, so if a file already exists
|
||||
# at dest_path we move it out of the way first.
|
||||
force { sftp.rename!(dest_path, dest_backup_path) }
|
||||
force { sftp.rename!(temp_upload_path, dest_path) }
|
||||
rescue StandardError => e
|
||||
# if anything fails, try to move the original file back in place (if it was moved).
|
||||
force { sftp.rename!(dest_backup_path, dest_path) }
|
||||
raise Error, e
|
||||
ensure
|
||||
force { sftp.remove!(temp_upload_path) }
|
||||
force { sftp.remove!(dest_backup_path) }
|
||||
end
|
||||
# `rename!` can't overwrite existing files, so if a file already exists
|
||||
# at dest_path we move it out of the way first.
|
||||
force { sftp.rename!(dest_path, dest_backup_path) }
|
||||
force { sftp.rename!(temp_upload_path, dest_path) }
|
||||
rescue StandardError => e
|
||||
# if anything fails, try to move the original file back in place (if it was moved).
|
||||
force { sftp.rename!(dest_backup_path, dest_path) }
|
||||
raise Error, e
|
||||
ensure
|
||||
force { sftp.remove!(temp_upload_path) }
|
||||
force { sftp.remove!(dest_backup_path) }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user