aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/utils/sqlparse/formatter.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar/utils/sqlparse/formatter.py')
-rw-r--r--debug_toolbar/utils/sqlparse/formatter.py120
1 files changed, 0 insertions, 120 deletions
diff --git a/debug_toolbar/utils/sqlparse/formatter.py b/debug_toolbar/utils/sqlparse/formatter.py
deleted file mode 100644
index 3acece9..0000000
--- a/debug_toolbar/utils/sqlparse/formatter.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright (C) 2008 Andi Albrecht, albrecht.andi@gmail.com
-#
-# This module is part of python-sqlparse and is released under
-# the BSD License: http://www.opensource.org/licenses/bsd-license.php.
-
-"""SQL formatter"""
-
-from debug_toolbar.utils.sqlparse import SQLParseError
-from debug_toolbar.utils.sqlparse import filters
-
-
-def validate_options(options):
- """Validates options."""
- kwcase = options.get('keyword_case', None)
- if kwcase not in [None, 'upper', 'lower', 'capitalize']:
- raise SQLParseError('Invalid value for keyword_case: %r' % kwcase)
-
- idcase = options.get('identifier_case', None)
- if idcase not in [None, 'upper', 'lower', 'capitalize']:
- raise SQLParseError('Invalid value for identifier_case: %r' % idcase)
-
- ofrmt = options.get('output_format', None)
- if ofrmt not in [None, 'sql', 'python', 'php']:
- raise SQLParseError('Unknown output format: %r' % ofrmt)
-
- strip_comments = options.get('strip_comments', False)
- if strip_comments not in [True, False]:
- raise SQLParseError('Invalid value for strip_comments: %r'
- % strip_comments)
-
- strip_ws = options.get('strip_whitespace', False)
- if strip_ws not in [True, False]:
- raise SQLParseError('Invalid value for strip_whitespace: %r'
- % strip_ws)
-
- reindent = options.get('reindent', False)
- if reindent not in [True, False]:
- raise SQLParseError('Invalid value for reindent: %r'
- % reindent)
- elif reindent:
- options['strip_whitespace'] = True
- indent_tabs = options.get('indent_tabs', False)
- if indent_tabs not in [True, False]:
- raise SQLParseError('Invalid value for indent_tabs: %r' % indent_tabs)
- elif indent_tabs:
- options['indent_char'] = '\t'
- else:
- options['indent_char'] = ' '
- indent_width = options.get('indent_width', 2)
- try:
- indent_width = int(indent_width)
- except (TypeError, ValueError):
- raise SQLParseError('indent_width requires an integer')
- if indent_width < 1:
- raise SQLParseError('indent_width requires an positive integer')
- options['indent_width'] = indent_width
-
- right_margin = options.get('right_margin', None)
- if right_margin is not None:
- try:
- right_margin = int(right_margin)
- except (TypeError, ValueError):
- raise SQLParseError('right_margin requires an integer')
- if right_margin < 10:
- raise SQLParseError('right_margin requires an integer > 10')
- options['right_margin'] = right_margin
-
- return options
-
-
-def build_filter_stack(stack, options):
- """Setup and return a filter stack.
-
- Args:
- stack: :class:`~sqlparse.filters.FilterStack` instance
- options: Dictionary with options validated by validate_options.
- """
- # Token filter
- if options.get('keyword_case', None):
- stack.preprocess.append(
- filters.KeywordCaseFilter(options['keyword_case']))
-
- if options.get('identifier_case', None):
- stack.preprocess.append(
- filters.IdentifierCaseFilter(options['identifier_case']))
-
- # After grouping
- if options.get('strip_comments', False):
- stack.enable_grouping()
- stack.stmtprocess.append(filters.StripCommentsFilter())
-
- if (options.get('strip_whitespace', False)
- or options.get('reindent', False)):
- stack.enable_grouping()
- stack.stmtprocess.append(filters.StripWhitespaceFilter())
-
- if options.get('reindent', False):
- stack.enable_grouping()
- stack.stmtprocess.append(
- filters.ReindentFilter(char=options['indent_char'],
- width=options['indent_width']))
-
- if options.get('right_margin', False):
- stack.enable_grouping()
- stack.stmtprocess.append(
- filters.RightMarginFilter(width=options['right_margin']))
-
- # Serializer
- if options.get('output_format'):
- frmt = options['output_format']
- if frmt.lower() == 'php':
- fltr = filters.OutputPHPFilter()
- elif frmt.lower() == 'python':
- fltr = filters.OutputPythonFilter()
- else:
- fltr = None
- if fltr is not None:
- stack.postprocess.append(fltr)
-
- return stack