summaryrefslogtreecommitdiff
path: root/sqlparse/engine
diff options
context:
space:
mode:
authorVictor Uriarte <victor.m.uriarte@intel.com>2016-06-15 12:36:45 -0700
committerVictor Uriarte <victor.m.uriarte@intel.com>2016-06-15 13:30:29 -0700
commit49979e9ca1159190320e2faad989c8bd267c8000 (patch)
treeca444edf01e94b3bf939c9450453bdc9786b1aab /sqlparse/engine
parent0acaa4c57d7169f3903af3c3df4faf95d2cbea84 (diff)
downloadsqlparse-49979e9ca1159190320e2faad989c8bd267c8000.tar.gz
Refactor _group's prev token logic
Diffstat (limited to 'sqlparse/engine')
-rw-r--r--sqlparse/engine/grouping.py24
1 files changed, 11 insertions, 13 deletions
diff --git a/sqlparse/engine/grouping.py b/sqlparse/engine/grouping.py
index a74f6f8..1be4f53 100644
--- a/sqlparse/engine/grouping.py
+++ b/sqlparse/engine/grouping.py
@@ -321,20 +321,18 @@ def _group(tlist, cls, match,
if token.is_whitespace():
continue
+
if token.is_group() and not isinstance(token, cls):
_group(token, cls, match, valid_left, valid_right, post, extend)
- pidx, prev_ = tidx, token
- continue
- if not match(token):
- pidx, prev_ = tidx, token
- continue
- nidx, next_ = tlist.token_next(tidx)
+ if match(token):
+ nidx, next_ = tlist.token_next(tidx)
+ if valid_left(prev_) and valid_right(next_):
+ from_idx, to_idx = post(tlist, pidx, tidx, nidx)
+ grp = tlist.group_tokens(cls, from_idx, to_idx, extend=extend)
- if valid_left(prev_) and valid_right(next_):
- from_idx, to_idx = post(tlist, pidx, tidx, nidx)
- grp = tlist.group_tokens(cls, from_idx, to_idx, extend=extend)
- tidx_offset += to_idx - from_idx
- pidx, prev_ = from_idx, grp
- else:
- pidx, prev_ = tidx, token
+ tidx_offset += to_idx - from_idx
+ pidx, prev_ = from_idx, grp
+ continue
+
+ pidx, prev_ = tidx, token