#!/usr/bin/env python
#***************************************************************************
-#* Copyright (C) 2003-2010 Polytechnique.org *
+#* Copyright (C) 2003-2011 Polytechnique.org *
#* http://opensource.polytechnique.org/ *
#* *
#* This program is free software; you can redistribute it and/or modify *
PLATAL_DOMAIN = get_config('Mail', 'domain')
PLATAL_DOMAIN2 = get_config('Mail', 'domain2', '')
sys.stderr.write('PLATAL_DOMAIN = %s\n' % PLATAL_DOMAIN )
+sys.stderr.write("MYSQL_DB = %s\n" % MYSQL_DB)
VHOST_SEP = get_config('Lists', 'vhost_sep', '_')
ON_CREATE_CMD = get_config('Lists', 'on_create', '')
passwd=MYSQL_PASS,
unix_socket='/var/run/mysqld/mysqld.sock')
db.ping()
+ db.autocommit(True)
return db.cursor()
def mysql_fetchone(query):
if not is_member and (mlist.subscribe_policy > 1):
is_pending = list_call_locked(is_subscription_pending, userdesc, perms, mlist, False)
if is_pending is 0:
- return 0
+ return None
host = mlist.internal_name().split(VHOST_SEP)[0].lower()
details = {
""" List the members of a list.
@mlist
"""
- details, members = get_list_info(userdesc, perms, mlist)
+ infos = get_list_info(userdesc, perms, mlist)
+ if infos is None:
+ # Do not return None, this is not serializable
+ return 0
+ details, members = infos
members.sort()
members = map(lambda member: (get_name(member), member), members)
return (details, members, mlist.owner)
"""
name = vhost.lower() + VHOST_SEP + listname.lower();
if Utils.list_exists(name):
+ print >> sys.stderr, "List ", name, " already exists"
return 0
owner = []
for o in owners:
- email = to_forlife(o)[0]
+ email = to_forlife(o)
+ print >> sys.stderr, "owner in list", o, email
+ email = email[0]
if email is not None:
owner.append(email)
if len(owner) is 0:
+ print >> sys.stderr, "No owner found in ", owners
return 0
mlist = MailList.MailList()