summaryrefslogtreecommitdiff
path: root/sqlparse
diff options
context:
space:
mode:
authorJesús Leganés Combarro "Piranna" <piranna@gmail.com>2012-04-28 18:07:31 +0200
committerJesús Leganés Combarro "Piranna" <piranna@gmail.com>2012-04-28 18:07:31 +0200
commit7d85204ab35d004739042feccdfa36ed2d26ff28 (patch)
tree44a11aaa512e1b7660f45c2f0e3c4541566f6628 /sqlparse
parent4f29ddb9de8d7d39859c908444bc831d16fba80f (diff)
downloadsqlparse-7d85204ab35d004739042feccdfa36ed2d26ff28.tar.gz
Removed TokenFilter and using duck-typing instead (more pythonic)
Diffstat (limited to 'sqlparse')
-rw-r--r--sqlparse/engine/filter.py13
-rw-r--r--sqlparse/filters.py30
2 files changed, 13 insertions, 30 deletions
diff --git a/sqlparse/engine/filter.py b/sqlparse/engine/filter.py
index 9ea9703..9af2f99 100644
--- a/sqlparse/engine/filter.py
+++ b/sqlparse/engine/filter.py
@@ -4,21 +4,10 @@ from sqlparse.sql import Statement, Token
from sqlparse import tokens as T
-class TokenFilter(object):
-
- def __init__(self, **options):
- self.options = options
-
- def process(self, stack, stream):
- """Process token stream."""
- raise NotImplementedError
-
-
-class StatementFilter(TokenFilter):
+class StatementFilter:
"Filter that split stream at individual statements"
def __init__(self):
- TokenFilter.__init__(self)
self._in_declare = False
self._in_dbldollar = False
self._is_create = False
diff --git a/sqlparse/filters.py b/sqlparse/filters.py
index fbbdaab..291a613 100644
--- a/sqlparse/filters.py
+++ b/sqlparse/filters.py
@@ -11,16 +11,10 @@ from sqlparse.tokens import (Comment, Comparison, Keyword, Name, Punctuation,
String, Whitespace)
-class TokenFilter:
-
- def process(self, stack, stream):
- raise NotImplementedError
-
-
# --------------------------
# token process
-class _CaseFilter(TokenFilter):
+class _CaseFilter:
ttype = None
@@ -51,7 +45,7 @@ class IdentifierCaseFilter(_CaseFilter):
yield ttype, value
-class GetComments(TokenFilter):
+class GetComments:
"""Get the comments from a stack"""
def process(self, stack, stream):
for token_type, value in stream:
@@ -59,7 +53,7 @@ class GetComments(TokenFilter):
yield token_type, value
-class StripComments(TokenFilter):
+class StripComments:
"""Strip the comments from a stack"""
def process(self, stack, stream):
for token_type, value in stream:
@@ -95,7 +89,7 @@ def StripWhitespace(stream):
last_type = token_type
-class IncludeStatement(TokenFilter):
+class IncludeStatement:
"""Filter that enable a INCLUDE statement"""
def __init__(self, dirpath=".", maxRecursive=10):
@@ -157,7 +151,7 @@ class IncludeStatement(TokenFilter):
# ----------------------
# statement process
-class StripCommentsFilter(TokenFilter):
+class StripCommentsFilter:
def _get_next_comment(self, tlist):
# TODO(andi) Comment types should be unified, see related issue38
@@ -188,7 +182,7 @@ class StripCommentsFilter(TokenFilter):
self._process(stmt)
-class StripWhitespaceFilter(TokenFilter):
+class StripWhitespaceFilter:
def _stripws(self, tlist):
func_name = '_stripws_%s' % tlist.__class__.__name__.lower()
@@ -220,7 +214,7 @@ class StripWhitespaceFilter(TokenFilter):
stmt.tokens.pop(-1)
-class ReindentFilter(TokenFilter):
+class ReindentFilter:
def __init__(self, width=2, char=' ', line_width=None):
self.width = width
@@ -385,7 +379,7 @@ class ReindentFilter(TokenFilter):
# FIXME: Doesn't work ;)
-class RightMarginFilter(TokenFilter):
+class RightMarginFilter:
keep_together = (
# sql.TypeCast, sql.Identifier, sql.Alias,
@@ -423,7 +417,7 @@ class RightMarginFilter(TokenFilter):
group.tokens = self._process(stack, group, group.tokens)
-class ColumnsSelect(TokenFilter):
+class ColumnsSelect:
"""Get the columns names of a SELECT query"""
def process(self, stack, stream):
mode = 0
@@ -477,7 +471,7 @@ class ColumnsSelect(TokenFilter):
# ---------------------------
# postprocess
-class SerializerUnicode(TokenFilter):
+class SerializerUnicode:
def process(self, stack, stmt):
raw = unicode(stmt)
@@ -497,7 +491,7 @@ def Tokens2Unicode(stream):
return result
-class OutputFilter(TokenFilter):
+class OutputFilter:
varname_prefix = ''
def __init__(self, varname='sql'):
@@ -611,7 +605,7 @@ class OutputPHPFilter(OutputFilter):
yield sql.Token(T.Punctuation, ';')
-class Limit(TokenFilter):
+class Limit:
"""Get the LIMIT of a query.
If not defined, return -1 (SQL specification for no LIMIT query)