]> 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 ee12da905412a207f9e092b60507382fb84ab16d..0fffd97cbe378279dadf4d5c1ff988d4f63f8349 100644 (file)
@@ -1,19 +1,32 @@
 require 'src/errors'
 require 'src/filesystem'
 require 'src/mailstore'
+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)
@@ -81,7 +94,7 @@ class DovecotMailstore < Mailstore
     if File.directory?(domain_path)
       return domain_path
     else
-      raise NonexistentDomainError.new(domain_path)
+      raise NonexistentDomainError
     end
   end
 
@@ -97,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