Mercurial > p > roundup > code
diff roundup/backends/back_metakit.py @ 3148:0a652c47bc9e maint-0.8
merge from HEAD
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Sun, 13 Feb 2005 22:40:53 +0000 |
| parents | 574525e4936b |
| children | 62b1a54107e6 |
line wrap: on
line diff
--- a/roundup/backends/back_metakit.py Sun Feb 13 22:19:43 2005 +0000 +++ b/roundup/backends/back_metakit.py Sun Feb 13 22:40:53 2005 +0000 @@ -1,4 +1,4 @@ -# $Id: back_metakit.py,v 1.88 2004-10-24 10:44:49 a1s Exp $ +# $Id: back_metakit.py,v 1.88.2.1 2005-02-13 22:40:53 richard Exp $ '''Metakit backend for Roundup, originally by Gordon McMillan. Known Current Bugs: @@ -1212,7 +1212,7 @@ where = {'_isdel':0} wherehigh = {} mlcriteria = {} - regexes = {} + regexes = [] orcriteria = {} for propname, value in filterspec.items(): prop = self.ruprops.get(propname, None) @@ -1258,14 +1258,12 @@ elif isinstance(prop, hyperdb.String): if type(value) is not type([]): value = [value] - m = [] for v in value: # simple glob searching v = re.sub(r'([\|\{\}\\\.\+\[\]\(\)])', r'\\\1', v) v = v.replace('?', '.') v = v.replace('*', '.*?') - m.append(v) - regexes[propname] = re.compile('(%s)'%('|'.join(m)), re.I) + regexes.append((propname, re.compile(v, re.I))) elif propname == 'id': where[propname] = int(value) elif isinstance(prop, hyperdb.Boolean): @@ -1353,7 +1351,7 @@ if regexes: def ff(row, r=regexes): - for propname, regex in r.items(): + for propname, regex in r: val = str(getattr(row, propname)) if not regex.search(val): return 0
