git://git.onelab.eu
/
plcapi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ffdf8eb
)
- spacing nits
author
Mark Huang
<mlhuang@cs.princeton.edu>
Mon, 4 Dec 2006 15:41:43 +0000
(15:41 +0000)
committer
Mark Huang
<mlhuang@cs.princeton.edu>
Mon, 4 Dec 2006 15:41:43 +0000
(15:41 +0000)
- fix wildcard check
PLC/Filter.py
patch
|
blob
|
history
diff --git
a/PLC/Filter.py
b/PLC/Filter.py
index
4ed819b
..
458e14c
100644
(file)
--- a/
PLC/Filter.py
+++ b/
PLC/Filter.py
@@
-1,3
+1,5
@@
+from types import StringTypes
+
from PLC.Faults import *
from PLC.Parameter import Parameter, Mixed, python_type
from PLC.Faults import *
from PLC.Parameter import Parameter, Mixed, python_type
@@
-55,9
+57,9
@@
class Filter(Parameter, dict):
for field, value in self.iteritems():
# provide for negation with a field starting with ~
negation=False
for field, value in self.iteritems():
# provide for negation with a field starting with ~
negation=False
- if field[0]
==
'~':
- negation
=
True
- field
=
field[1:]
+ if field[0]
==
'~':
+ negation
=
True
+ field
=
field[1:]
if field not in self.fields:
raise PLCInvalidArgument, "Invalid filter field '%s'" % field
if field not in self.fields:
raise PLCInvalidArgument, "Invalid filter field '%s'" % field
@@
-74,8
+76,8
@@
class Filter(Parameter, dict):
if value is None:
operator = "IS"
value = "NULL"
if value is None:
operator = "IS"
value = "NULL"
- elif
not isinstance(value, bool)
\
-
and
(value.find("*") > -1 or value.find("%") > -1):
+ elif
isinstance(value, StringTypes) and
\
+
(value.find("*") > -1 or value.find("%") > -1):
operator = "LIKE"
value = str(api.db.quote(value.replace("*", "%")))
else:
operator = "LIKE"
value = str(api.db.quote(value.replace("*", "%")))
else: