summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Uriarte <victor.m.uriarte@intel.com>2016-06-01 05:51:17 -0700
committerVictor Uriarte <victor.m.uriarte@intel.com>2016-06-04 15:24:50 -0700
commit5747015634a39191511de8db576f2cd0aa5eafc9 (patch)
tree88642eeb84d318511191a822fd781b44e1d63df1
parentab1e8a1b823cb81bed7906463c6a44447b08f3b9 (diff)
downloadsqlparse-filters_sql.tar.gz
Refactor match logicfilters_sql
-rw-r--r--sqlparse/sql.py27
1 files changed, 9 insertions, 18 deletions
diff --git a/sqlparse/sql.py b/sqlparse/sql.py
index 5dbb9f4..57bf1e7 100644
--- a/sqlparse/sql.py
+++ b/sqlparse/sql.py
@@ -71,32 +71,23 @@ class Token(object):
if not type_matched or values is None:
return type_matched
- if regex:
- if isinstance(values, string_types):
- values = {values}
+ if isinstance(values, string_types):
+ values = (values,)
- if self.ttype is T.Keyword:
- values = set(re.compile(v, re.IGNORECASE) for v in values)
- else:
- values = set(re.compile(v) for v in values)
+ if regex:
+ # TODO: Add test for regex with is_keyboard = false
+ flag = re.IGNORECASE if self.is_keyword else 0
+ values = (re.compile(v, flag) for v in values)
for pattern in values:
- if pattern.search(self.value):
+ if pattern.search(self.normalized):
return True
return False
- if isinstance(values, string_types):
- if self.is_keyword:
- return values.upper() == self.normalized
- return values == self.value
-
if self.is_keyword:
- for v in values:
- if v.upper() == self.normalized:
- return True
- return False
+ values = (v.upper() for v in values)
- return self.value in values
+ return self.normalized in values
def is_group(self):
"""Returns ``True`` if this object has children."""