X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=bin%2Flists.rpc.py;h=4c07c5e4d3ef47693900162c3fcfa3f1044129d4;hb=dcdcd18aeb2b29ddfa7768317b14ca0a277dd654;hp=ce0fd043375bda3e034af71138e5bd5db1b81cea;hpb=79a9ca23d5a64dc1bae39936d30c818e007ba5db;p=platal.git diff --git a/bin/lists.rpc.py b/bin/lists.rpc.py index ce0fd04..4c07c5e 100755 --- a/bin/lists.rpc.py +++ b/bin/lists.rpc.py @@ -359,7 +359,6 @@ def get_name(member): try: return quote(mlist.getMemberName(member)) except: - print member return '' def get_members(userdesc, perms, vhost, listname): @@ -548,7 +547,6 @@ def get_pending_ops(userdesc, perms, vhost, listname): return 0 return (subs, helds) - def handle_request(userdesc, perms, vhost, listname, id, value, comment): try: mlist = MailList.MailList(vhost+VHOST_SEP+listname.lower(), lock=0) @@ -566,6 +564,30 @@ def handle_request(userdesc, perms, vhost, listname, id, value, comment): mlist.Unlock() return 0 +def get_pending_sub(userdesc, perms, vhost, listname, id): + try: + mlist = MailList.MailList(vhost+VHOST_SEP+listname.lower(), lock=0) + except: + return 0 + try: + if not is_admin_on(userdesc, perms, mlist): + return 0 + + mlist.Lock() + sub = 0 + id = int(id) + if id in mlist.GetSubscriptionIds(): + time, addr, fullname, passwd, digest, lang = mlist.GetRecord(id) + try: + login = re.match("^[^.]*\.[^.]*\.\d\d\d\d$", addr.split('@')[0]).group() + sub = {'id': id, 'name': quote(fullname), 'addr': addr, 'login': login } + except: + sub = {'id': id, 'name': quote(fullname), 'addr': addr } + mlist.Unlock() + except: + mlist.Unlock() + return 0 + return sub def get_pending_mail(userdesc, perms, vhost, listname, id, raw=0): try: @@ -846,7 +868,7 @@ def create_list(userdesc, perms, vhost, listname, desc, advertise, modlevel, ins mlist.subject_prefix = '['+listname+'] ' mlist.max_message_size = 0 - inverted_listname = '_'.join(listname.split('_', 1)[-1::-1]) + inverted_listname = listname.lower() + '_' + vhost.lower() mlist.msg_footer = "_______________________________________________\n" \ + "Liste de diffusion %(real_name)s\n" \ + "http://listes.polytechnique.org/members/" + inverted_listname @@ -986,6 +1008,7 @@ server.register_function(del_owner) # moderate.php server.register_function(get_pending_ops) server.register_function(handle_request) +server.register_function(get_pending_sub) server.register_function(get_pending_mail) # options.php server.register_function(get_owner_options)