diff options
| author | Victor Uriarte <victor.m.uriarte@intel.com> | 2016-06-15 12:36:45 -0700 |
|---|---|---|
| committer | Victor Uriarte <victor.m.uriarte@intel.com> | 2016-06-15 13:30:29 -0700 |
| commit | 49979e9ca1159190320e2faad989c8bd267c8000 (patch) | |
| tree | ca444edf01e94b3bf939c9450453bdc9786b1aab /sqlparse | |
| parent | 0acaa4c57d7169f3903af3c3df4faf95d2cbea84 (diff) | |
| download | sqlparse-49979e9ca1159190320e2faad989c8bd267c8000.tar.gz | |
Refactor _group's prev token logic
Diffstat (limited to 'sqlparse')
| -rw-r--r-- | sqlparse/engine/grouping.py | 24 |
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 |
