diff options
| author | Jesús Leganés Combarro "Piranna" <piranna@gmail.com> | 2012-04-28 18:07:31 +0200 |
|---|---|---|
| committer | Jesús Leganés Combarro "Piranna" <piranna@gmail.com> | 2012-04-28 18:07:31 +0200 |
| commit | 7d85204ab35d004739042feccdfa36ed2d26ff28 (patch) | |
| tree | 44a11aaa512e1b7660f45c2f0e3c4541566f6628 /sqlparse | |
| parent | 4f29ddb9de8d7d39859c908444bc831d16fba80f (diff) | |
| download | sqlparse-7d85204ab35d004739042feccdfa36ed2d26ff28.tar.gz | |
Removed TokenFilter and using duck-typing instead (more pythonic)
Diffstat (limited to 'sqlparse')
| -rw-r--r-- | sqlparse/engine/filter.py | 13 | ||||
| -rw-r--r-- | sqlparse/filters.py | 30 |
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) |
