------------------------------------------------------------
revno: 1558
fixes bug: https://launchpad.net/bugs/1442298
committer: Mark Sapiro <m...@msapiro.net>
branch nick: 2.1
timestamp: Mon 2015-04-13 15:17:02 -0700
message:
  Improved search in admin UI Membership List.
modified:
  Mailman/Cgi/admin.py
  NEWS


--
lp:mailman/2.1
https://code.launchpad.net/~mailman-coders/mailman/2.1

Your team Mailman Checkins is subscribed to branch lp:mailman/2.1.
To unsubscribe from this branch go to 
https://code.launchpad.net/~mailman-coders/mailman/2.1/+edit-subscription
=== modified file 'Mailman/Cgi/admin.py'
--- Mailman/Cgi/admin.py	2015-03-09 20:37:28 +0000
+++ Mailman/Cgi/admin.py	2015-04-13 22:17:02 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 by the Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
@@ -911,6 +911,15 @@
     all.sort(lambda x, y: cmp(x.lower(), y.lower()))
     # See if the query has a regular expression
     regexp = cgidata.getvalue('findmember', '').strip()
+    try:
+        regexp = regexp.decode(Utils.GetCharSet(mlist.preferred_language))
+    except UnicodeDecodeError:
+        # This is probably a non-ascii character and an English language
+        # (ascii) list.  Even if we didn't throw the UnicodeDecodeError,
+        # the input may have contained mnemonic or numeric HTML entites mixed
+        # with other characters.  Trying to grok the real meaning out of that
+        # is complex and error prone, so we don't try.
+        pass
     if regexp:
         try:
             cre = re.compile(regexp, re.IGNORECASE)

=== modified file 'NEWS'
--- NEWS	2015-03-31 16:42:02 +0000
+++ NEWS	2015-04-13 22:17:02 +0000
@@ -5,6 +5,14 @@
 
 Here is a history of user visible changes to Mailman.
 
+2.1.21 (xx-xxx-xxxx)
+
+  Bug fixes and other patches
+
+    - The list admin web UI Mambership List search function often doesn't
+      return correct results for search strings (regexps) that contain
+      non-ascii characters.  This is partially fixed.  (LP: #1442298)
+
 2.1.20 (31-Mar-2015)
 
   Security

_______________________________________________
Mailman-checkins mailing list
Mailman-checkins@python.org
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to