require 'common/runner'
-
-# This is always needed, regardless of which plugin is running.
require 'prune/plugins/postfixadmin'
+require 'rm/rm_dummy_runner'
class PruneDummyRunner
include Runner
- def run(plugin)
+ def run(cfg, plugin)
# We don't want to check the PostfixAdmin database against itself.
return if plugin.class == PostfixadminPrune
- cfg = Configuration.new()
pfa = PostfixadminPrune.new(cfg)
db_users = pfa.list_users()
db_domains = pfa.list_domains()
- leftover_users = plugin.get_leftover_accounts(db_users)
- leftover_domains = plugin.get_leftover_domains(db_domains)
-
- leftover_users.each do |user|
- user_description = plugin.describe_account(user)
- report(plugin, "Would remove user: #{user} (#{user_description})")
- end
+ leftovers = plugin.get_leftover_users(db_users)
+ leftovers += plugin.get_leftover_domains(db_domains)
- leftover_domains.each do |domain|
- domain_description = plugin.describe_domain(domain)
- report(plugin, "Would remove domain: #{domain} (#{domain_description})")
- end
+ rm_dummy_runner = RmDummyRunner.new()
+ rm_dummy_runner.run(cfg, plugin, *leftovers)
end
end