34 lines
766 B
Ruby
Executable File
34 lines
766 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# vim: set noet sw=2 ts=2 sts=2:
|
|
|
|
require 'deduperemoverb'
|
|
require 'ostruct'
|
|
require 'logger'
|
|
|
|
$logger = Logger.new STDERR
|
|
$logger.formatter =
|
|
proc do |severity, datetime, progname, message|
|
|
sprintf "%s %s %s\n", datetime.strftime( '%H:%M:%S.%6N'), severity[0], message
|
|
end
|
|
|
|
begin
|
|
raise "Argument 0: Database expected" if ARGV.empty?
|
|
dbfile = Pathname.new ARGV[0]
|
|
raise "Argument 0: Database missing: #{dbfile}" unless dbfile.exist?
|
|
tempfile = Pathname.new("/run/user/#{Process.uid}").join dbfile.basename
|
|
dr = Duperemove.new dbfile, tempfile
|
|
dr.run ARGV[1..-1]
|
|
dr.finish
|
|
|
|
rescue SystemExit
|
|
raise
|
|
|
|
rescue Interrupt
|
|
$logger.info "was interrupted"
|
|
exit 1
|
|
|
|
rescue
|
|
$logger.fatal "#$! (#{$!.class})\n#{$!.backtrace.join "\n\t"}"
|
|
|
|
end
|