]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - bin/mailshears
Add a PLUGINS configuration option.
[mailshears.git] / bin / mailshears
index d12bbbd6fc27ee7e2b2503f70b56349f6f3ab691..d2894cd13db31ae86fb72758096f4a9cd1762533 100755 (executable)
@@ -15,7 +15,7 @@
 
 # We need Pathname to get the real filesystem path
 # of this script (and not, for example, the path of
-# a symlink which points to it.
+# a symlink which points to it).
 require 'pathname'
 
 # This bit of magic adds the parent directory (the
@@ -25,6 +25,9 @@ require 'pathname'
 executable = Pathname.new(__FILE__).realpath.to_s
 $: << File.dirname(executable) + '/../'
 
+# Needed for rm_rf.
+require 'fileutils'
+
 # Load our config file.
 require 'bin/configuration'
 
@@ -93,7 +96,6 @@ acct_difference = fs_accts - db_accts
 
 # Don't output any unnecessary junk. Cron might mail it to someone.
 if dom_difference.size > 0 or acct_difference.size > 0
-
   # The header that we output before the list of accounts.
   # Just the path of this script, and the current time.
   header = "#{$0}, "
@@ -109,7 +111,28 @@ if dom_difference.size > 0 or acct_difference.size > 0
 
   puts header
   puts '-' * header.size # Underline the header.
-  puts dom_difference
-  puts acct_difference
+
+  dom_difference.each do |domain|
+    puts "Found: #{domain} (#{dms.get_domain_path(domain)})"
+  end
+
+  acct_difference.each do |account|
+    puts "Found: #{account} (#{dms.get_account_path(account)})"
+  end
+
+  if Configuration::I_MEAN_BUSINESS
+    dom_difference.each do |domain|
+      domain_path = dms.get_domain_path(domain)
+      FileUtils.rm_rf(domain_path)
+      puts "Removed: #{domain_path}"
+    end
+
+    acct_difference.each do |account|
+      account_path = dms.get_account_path(account)
+      FileUtils.rm_rf(account_path)
+      puts "Removed: #{account_path}"
+    end
+  end
+
   puts ""
 end