X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=src%2Fplugins%2Fdovecot_mailstore.rb;h=0fffd97cbe378279dadf4d5c1ff988d4f63f8349;hp=ee12da905412a207f9e092b60507382fb84ab16d;hb=cb6bcbecba8aa33c558a2d9217e284cbefe7513a;hpb=af0c4ef0fa8366ca47e482a9ddd28567dbb0b234 diff --git a/src/plugins/dovecot_mailstore.rb b/src/plugins/dovecot_mailstore.rb index ee12da9..0fffd97 100644 --- a/src/plugins/dovecot_mailstore.rb +++ b/src/plugins/dovecot_mailstore.rb @@ -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