X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=bin%2Flists.rpc.py;h=56067ba7764b9381453613adb72db8e1bcd0ef32;hb=7563eb0c214749f30bef91c1cb2315515644a786;hp=00b498ce120a268f7dc1dcf5e23eba35c949b892;hpb=168ca63bd7b9e156997dc34187cb45d3be5cf5f1;p=platal.git diff --git a/bin/lists.rpc.py b/bin/lists.rpc.py index 00b498c..56067ba 100755 --- a/bin/lists.rpc.py +++ b/bin/lists.rpc.py @@ -1,6 +1,6 @@ #!/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 * @@ -72,6 +72,7 @@ MYSQL_DB = get_config('Core', 'dbdb') 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', '') @@ -166,6 +167,7 @@ def connectDB(): passwd=MYSQL_PASS, unix_socket='/var/run/mysqld/mysqld.sock') db.ping() + db.autocommit(True) return db.cursor() def mysql_fetchone(query): @@ -297,7 +299,7 @@ def get_list_info(userdesc, perms, mlist, front_page=0): 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 = { @@ -413,7 +415,11 @@ def get_members(userdesc, perms, mlist): """ 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) @@ -879,14 +885,18 @@ def create_list(userdesc, perms, vhost, listname, desc, advertise, modlevel, ins """ 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()