Replace 'account' with 'user' everywhere.
[mailshears.git] / lib / prune / plugins / davical.rb
index ae21d9f186a859309fc58584e7d8d010c490b926..3c5ff0e3401a7087c6a56810f3958866323d92af 100644 (file)
@@ -1,6 +1,5 @@
 require 'pg'
 
-require 'common/davical_plugin'
 require 'prune/prune_plugin'
 require 'rm/plugins/davical'
 
@@ -9,51 +8,21 @@ class DavicalPrune < DavicalRm
   # DAViCal only supports Postgres, so even if we ever are
   # database-agnostic, this plugin can't be.
   #
-  include DavicalPlugin
   include PrunePlugin
 
 
   def get_leftover_domains(db_domains)
-    # AgenDAV doesn't have a concept of domains.
+    # DAViCal doesn't have a concept of domains. We could parse the
+    # usernames to see what domains are present, but the point is
+    # moot: all leftover users will be pruned anyway.
     return []
   end
 
 
-  def get_leftover_accounts(db_accounts)
+  def get_leftover_users(db_users)
     # Get a list of all users who have logged in to DAViCal.
-    davical_accounts = self.get_davical_usernames()
-    return davical_accounts - db_accounts
-  end
-
-
-  protected;
-
-  def get_davical_usernames()
-    usernames = []
-
-    begin
-      connection = PGconn.connect(@db_host,
-                                  @db_port,
-                                  @db_opts,
-                                  @db_tty,
-                                  @db_name,
-                                  @db_user,
-                                  @db_pass)
-
-      # User #1 is the super-user, and not tied to an email address.
-      sql_query  = 'SELECT username FROM usr WHERE user_no > 1;'
-
-      connection.query(sql_query) do |result|
-        usernames = result.field_values('username')
-      end
-
-      connection.close()
-    rescue PGError => e
-      # Pretend like we're database-agnostic in case we ever are.
-      raise DatabaseError.new(e)
-    end
-
-    return usernames
+    davical_users = self.list_users()
+    return davical_users - db_users
   end