summaryrefslogtreecommitdiff
path: root/Mailman/Cgi/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/Cgi/admin.py')
-rw-r--r--Mailman/Cgi/admin.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/Mailman/Cgi/admin.py b/Mailman/Cgi/admin.py
index baeed7801..a1e375e14 100644
--- a/Mailman/Cgi/admin.py
+++ b/Mailman/Cgi/admin.py
@@ -31,7 +31,7 @@ import signal
from types import *
from string import lowercase, digits
-from email.Utils import unquote, parseaddr
+from email.Utils import unquote, parseaddr, formataddr
from Mailman import mm_cfg
from Mailman import Utils
@@ -795,14 +795,17 @@ def membership_options(mlist, subcat, cgidata, doc, form):
all = mlist.getMembers()
all.sort(lambda x, y: cmp(x.lower(), y.lower()))
# See if the query has a regular expression
- regexp = cgidata.getvalue('findmember')
+ regexp = cgidata.getvalue('findmember', '').strip()
if regexp:
try:
cre = re.compile(regexp, re.IGNORECASE)
except re.error:
doc.addError(_('Bad regular expression: ') + regexp)
else:
- all = [s for s in all if cre.search(s)]
+ # BAW: There's got to be a more efficient way of doing this!
+ names = [mlist.getMemberName(s) or '' for s in all]
+ all = [a for n, a in zip(names, all)
+ if cre.search(n) or cre.search(a)]
chunkindex = None
bucket = None
actionurl = None