--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/python/commands.py Wed Jan 16 22:39:43 2008 +0100
@@ -0,0 +1,57 @@
+# Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+import daemon
+import string
+import types
+
+def execute(command, *args):
+ return daemon.execute(command, args)
+
+def check(domain, username, password):
+ return execute('check', domain, username, password)
+
+def listdomain(domain, password):
+ conn = daemon.Daemon()
+ response = conn.execute(daemon.Command('listdomain', (domain, password)))
+ users = []
+ while 1:
+ r = conn.read_response()
+ if not r:
+ break
+ (username,data) = string.split(r, '\0', 1)
+ users.append(types.NamedVUser(username, types.VUser(data)))
+ return users
+
+def adduser(domain, newuser, password, newpass, maildir=None, forwards=[]):
+ return daemon.execute('adduser2',
+ (domain, newuser, password, newpass,
+ maildir or '') + tuple(forwards))
+
+def lookup(domain, username, password):
+ return types.VUser(execute('lookup', domain, username, password))
+
+def autoresponse(domain, user, password, action, message=None):
+ cmd = [ domain, user, password, action ]
+ if message:
+ cmd.append(message)
+ return daemon.execute('autoresponse', cmd)
+
+def deluser(domain, username, password):
+ return execute('deluser', domain, username, password)
+
+def chattr(domain, username, password, attribute, *value):
+ return daemon.execute('chattr', (domain,username,password,attribute)+value)