Sha256: fe3963767d245ac113a81d1745fdc8f32dde99d9a352515e2e29cea7b8ab31bc
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
#!/usr/bin/env ruby require File.expand_path('../../lib/mls/cli', __FILE__) case ARGV.shift.downcase.strip when "documents:backup" MLS::CLI.parse_args(ARGV) directory = ARGV.shift if directory.nil? || !File.directory?(directory) puts "Usage: mls documents:backup dir [options...]" exit 1 end MLS::CLI::Documents.backup(directory) when "documents:migrate" MLS::CLI.parse_args(ARGV) directory = ARGV.shift if directory.nil? || !File.directory?(directory) puts "Usage: mls documents:backup dir [options...]" exit 1 end b2 = StandardStorage::B2.new(MLS::CLI.options[:b2]) shas = [] Document.where(provider: {excludes: 'b2/sha256'}).limit(1000).each do |document| next if shas.include?(document.sha256) if document.sha256 && File.exists?(File.join(directory, MLS::CLI::Documents.partition(document.sha256))) b2.write(document.sha256, File.open(File.join(directory, MLS::CLI::Documents.partition(document.sha256))), { filename: document.filename, sha1: document.sha1, content_type: document.content_type, size: document.size }) Documents.where(md5: document.md5).find_each do |d| next if d.sha256 != document.sha256 d.update!(provider: d.provider + ['b2/sha256']) end shas << document.sha256 end end else puts "Usage: mls documents:backup dir [options...]" end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mls-1.9.0 | bin/mls |
mls-1.8.0 | bin/mls |