# And the necessary classes.
require 'src/errors.rb'
require 'src/exit_codes.rb'
-require 'src/dovecot_mailstore'
require 'src/postfixadmin_db'
+Configuration::PLUGINS.each do |plugin_file|
+ require "src/plugins/#{plugin_file}"
+end
+
pgadb = PostfixadminDb.new(Configuration::DBHOST,
Configuration::DBPORT,
Configuration::DBOPTS,
end
-Configuration::PLUGINS.each do |plugin_name|
- # Convert a string into a class.
- plugin_class = Kernel.const_get(plugin_name)
+Plugin.includers.each do |plugin_class|
plugin = plugin_class.new()
begin
header += current_time.to_s + "\n"
end
- header += 'Plugin: ' + plugin_name + "\n"
+ header += 'Plugin: ' + plugin_class.to_s + "\n"
puts header
puts '-' * header.size # Underline the header.
end
leftover_accounts.each do |account|
- plugin.delete_account(account)
- puts "Removed: #{account} (#{plugin.describe_account(account)})"
+ begin
+ plugin.delete_account(account)
+ puts "Removed: #{account} (#{plugin.describe_account(account)})"
+ rescue NonexistentAccountError => e
+ # This usually happens after an account's domain is deleted.
+ # When we try to delete the account, it's already gone.
+ puts "Gone: #{account} (#{plugin.describe_account(account)})"
+ end
end
end