X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=lib%2Frm%2Fplugins%2Fdovecot_mailstore.rb;h=72c80c83537559bef358868dc9fc57c0dc905890;hp=8ab507d674c3c77739d854ad9d95439b702531ee;hb=483d14dc8228a81d12fb109d3ed6510e2d2b03c1;hpb=e7fa62fc599b7583102fe48fbaad3db4f911a6da;ds=sidebyside diff --git a/lib/rm/plugins/dovecot_mailstore.rb b/lib/rm/plugins/dovecot_mailstore.rb index 8ab507d..72c80c8 100644 --- a/lib/rm/plugins/dovecot_mailstore.rb +++ b/lib/rm/plugins/dovecot_mailstore.rb @@ -1,12 +1,10 @@ # Needed for rm_r. require 'fileutils' -require 'common/filesystem' -require 'common/mailstore' require 'common/dovecot_mailstore_plugin' require 'rm/rm_plugin' -class DovecotMailstoreRm < Mailstore +class DovecotMailstoreRm include DovecotMailstorePlugin include RmPlugin @@ -22,54 +20,4 @@ class DovecotMailstoreRm < Mailstore FileUtils.rm_r(account_path) end - def get_leftover_domains(db_domains) - # Get the list of domains according to the filesystem. - fs_domains = self.get_domains_from_filesystem() - - # Return the list of domains on the filesystem that aren't in the DB. - return (fs_domains - db_domains) - end - - def get_leftover_accounts(db_accounts) - # Get the list of accounts according to the filesystem. - fs_domains = self.get_domains_from_filesystem() - fs_accounts = self.get_accounts_from_filesystem(fs_domains) - - # And return the accounts on the filesystem that aren't in the DB. - return (fs_accounts - db_accounts) - end - - - def get_domain_usernames(domain) - return get_accounts_from_filesystem([domain]) - end - - protected; - - def get_domains_from_filesystem() - return Filesystem.get_subdirs(@domain_root) - end - - def get_accounts_from_filesystem(domains) - accounts = [] - - domains.each do |domain| - begin - # Throws a NonexistentDomainError if the domain's path - # doesn't exist on the filesystem. In this case, we want - # to report zero accounts. - domain_path = get_domain_path(domain) - usernames = Filesystem.get_subdirs(domain_path) - - usernames.each do |username| - accounts << "#{username}@#{domain}" - end - rescue NonexistentDomainError - # Party hard. - end - end - - return accounts - end - end