Skip to content

Commit c43fccf

Browse files
committed
Organize engine module
1 parent 0b3aa55 commit c43fccf

File tree

3 files changed

+53
-37
lines changed

3 files changed

+53
-37
lines changed

sqlparse/engine/__init__.py

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,40 +5,12 @@
55
# This module is part of python-sqlparse and is released under
66
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
77

8-
"""filter"""
9-
10-
from sqlparse import lexer
118
from sqlparse.engine import grouping
12-
from sqlparse.engine.filter import StatementFilter
13-
14-
15-
class FilterStack(object):
16-
def __init__(self):
17-
self.preprocess = []
18-
self.stmtprocess = []
19-
self.postprocess = []
20-
self._grouping = False
21-
22-
def enable_grouping(self):
23-
self._grouping = True
24-
25-
def run(self, sql, encoding=None):
26-
stream = lexer.tokenize(sql, encoding)
27-
# Process token stream
28-
for filter_ in self.preprocess:
29-
stream = filter_.process(stream)
30-
31-
stream = StatementFilter().process(stream)
32-
33-
# Output: Stream processed Statements
34-
for stmt in stream:
35-
if self._grouping:
36-
stmt = grouping.group(stmt)
37-
38-
for filter_ in self.stmtprocess:
39-
filter_.process(stmt)
40-
41-
for filter_ in self.postprocess:
42-
stmt = filter_.process(stmt)
43-
44-
yield stmt
9+
from sqlparse.engine.filter_stack import FilterStack
10+
from sqlparse.engine.statement_splitter import StatementSplitter
11+
12+
__all__ = [
13+
'grouping',
14+
'FilterStack',
15+
'StatementSplitter',
16+
]

sqlparse/engine/filter_stack.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# Copyright (C) 2016 Andi Albrecht, [email protected]
4+
#
5+
# This module is part of python-sqlparse and is released under
6+
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
7+
8+
"""filter"""
9+
10+
from sqlparse import lexer
11+
from sqlparse.engine import grouping
12+
from sqlparse.engine.statement_splitter import StatementSplitter
13+
14+
15+
class FilterStack(object):
16+
def __init__(self):
17+
self.preprocess = []
18+
self.stmtprocess = []
19+
self.postprocess = []
20+
self._grouping = False
21+
22+
def enable_grouping(self):
23+
self._grouping = True
24+
25+
def run(self, sql, encoding=None):
26+
stream = lexer.tokenize(sql, encoding)
27+
# Process token stream
28+
for filter_ in self.preprocess:
29+
stream = filter_.process(stream)
30+
31+
stream = StatementSplitter().process(stream)
32+
33+
# Output: Stream processed Statements
34+
for stmt in stream:
35+
if self._grouping:
36+
stmt = grouping.group(stmt)
37+
38+
for filter_ in self.stmtprocess:
39+
filter_.process(stmt)
40+
41+
for filter_ in self.postprocess:
42+
stmt = filter_.process(stmt)
43+
44+
yield stmt
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from sqlparse import sql, tokens as T
99

1010

11-
class StatementFilter(object):
11+
class StatementSplitter(object):
1212
"""Filter that split stream at individual statements"""
1313

1414
def __init__(self):

0 commit comments

Comments
 (0)