diff roundup/hyperdb.py @ 231:afd428ba6523

better CGI text searching - but hidden filter fields are disappearing...
author Richard Jones <richard@users.sourceforge.net>
date Thu, 16 Aug 2001 07:34:59 +0000
parents e17a43d2c0d0
children 8827f5931ea8
line wrap: on
line diff
--- a/roundup/hyperdb.py	Thu Aug 16 06:59:58 2001 +0000
+++ b/roundup/hyperdb.py	Thu Aug 16 07:34:59 2001 +0000
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: hyperdb.py,v 1.17 2001-08-16 06:59:58 richard Exp $
+# $Id: hyperdb.py,v 1.18 2001-08-16 07:34:59 richard Exp $
 
 # standard python modules
 import cPickle, re, string
@@ -567,11 +567,11 @@
                     u.append(entry)
                 l.append((1, k, u))
             elif isinstance(propclass, String):
-                if '*' in v or '?' in v:
-                    # simple glob searching
-                    v = v.replace('?', '.')
-                    v = v.replace('*', '.*?')
-                    l.append((2, k, re.compile(v, re.I)))
+                # simple glob searching
+                v = re.sub(r'([\|\{\}\\\.\+\[\]\(\)])', r'\\\1', v)
+                v = v.replace('?', '.')
+                v = v.replace('*', '.*?')
+                l.append((2, k, re.compile(v, re.I)))
             else:
                 l.append((6, k, v))
         filterspec = l
@@ -794,6 +794,9 @@
 
 #
 # $Log: not supported by cvs2svn $
+# Revision 1.17  2001/08/16 06:59:58  richard
+# all searches use re now - and they're all case insensitive
+#
 # Revision 1.16  2001/08/15 23:43:18  richard
 # Fixed some isFooTypes that I missed.
 # Refactored some code in the CGI code.

Roundup Issue Tracker: http://roundup-tracker.org/