]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - src/plugins/dovecot_mailstore.rb
Get the domain/account descriptions before deleting them.
[mailshears.git] / src / plugins / dovecot_mailstore.rb
index 7706570b2e5005a1babd77bfffddac5e89bd988c..0fffd97cbe378279dadf4d5c1ff988d4f63f8349 100644 (file)
@@ -6,17 +6,27 @@ require 'src/plugin'
 class DovecotMailstore < Mailstore
 
   include Plugin
-  
+
   def initialize
     @domain_root = Configuration::MAIL_ROOT
   end
 
   def describe_domain(domain)
-    return get_domain_path(domain)
+    begin
+      domain_path = get_domain_path(domain)
+      return domain_path
+    rescue NonexistentDomainError => e
+      return "Doesn't Exist"
+    end
   end
 
   def describe_account(account)
-    return get_account_path(account)
+    begin
+      account_path = get_account_path(account)
+      return account_path
+    rescue NonexistentAccountError => e
+      return "Doesn't Exist"
+    end
   end
 
   def delete_domain(domain)
@@ -84,7 +94,7 @@ class DovecotMailstore < Mailstore
     if File.directory?(domain_path)
       return domain_path
     else
-      raise NonexistentDomainError.new(domain_path)
+      raise NonexistentDomainError
     end
   end
 
@@ -100,13 +110,18 @@ class DovecotMailstore < Mailstore
     user_part = account_parts[0]
     domain_part = account_parts[1]
 
-    domain_path = get_domain_path(domain_part)
+    begin
+      domain_path = get_domain_path(domain_part)
+    rescue NonexistentDomainError
+      raise NonexistentAccountError
+    end
+
     account_path = File.join(domain_path, user_part)
 
     if File.directory?(account_path)
       return account_path
     else
-      raise NonexistentAccountError.new(account_path)
+      raise NonexistentAccountError
     end
   end