Mercurial > p > roundup > code
diff roundup/backends/back_metakit.py @ 1631:8a908bbad1ef
A couple of form value handling changes:
- multilink properties may hhave multiple form values "1", "2,4", "5", ...
- string search properties are split on whitespace and match any of the
values
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 09 May 2003 01:47:51 +0000 |
| parents | 33a0d94c7658 |
| children | ab7760caf6ff 27917dce3814 |
line wrap: on
line diff
--- a/roundup/backends/back_metakit.py Thu May 08 07:07:42 2003 +0000 +++ b/roundup/backends/back_metakit.py Fri May 09 01:47:51 2003 +0000 @@ -1,4 +1,4 @@ -# $Id: back_metakit.py,v 1.46 2003-04-20 11:58:45 kedder Exp $ +# $Id: back_metakit.py,v 1.47 2003-05-09 01:47:50 richard Exp $ ''' Metakit backend for Roundup, originally by Gordon McMillan. @@ -944,11 +944,16 @@ else: orcriteria[propname] = u elif isinstance(prop, hyperdb.String): - # simple glob searching - v = re.sub(r'([\|\{\}\\\.\+\[\]\(\)])', r'\\\1', value) - v = v.replace('?', '.') - v = v.replace('*', '.*?') - regexes[propname] = re.compile(v, re.I) + 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) elif propname == 'id': where[propname] = int(value) elif isinstance(prop, hyperdb.Boolean):
