summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2012-11-03 12:45:52 +0100
committerAndi Albrecht <albrecht.andi@gmail.com>2012-11-03 12:45:52 +0100
commitc67a742e01ee7084ffd6ec0d531b96e343e6a5a5 (patch)
tree6b03ac07bb5aa47af1d6c3bbf521561c7b591828
parent0a877102119d4738369c1464107123f3f9e6978d (diff)
downloadsqlparse-c67a742e01ee7084ffd6ec0d531b96e343e6a5a5.tar.gz
Move SQLParseError to proper location and start deprecation of sqlparse.SQLParseError.
-rw-r--r--CHANGES4
-rwxr-xr-xbin/sqlformat3
-rw-r--r--docs/source/changes.rst6
-rw-r--r--sqlparse/__init__.py7
-rw-r--r--sqlparse/exceptions.py11
-rw-r--r--sqlparse/formatter.py2
-rw-r--r--tests/test_format.py19
7 files changed, 37 insertions, 15 deletions
diff --git a/CHANGES b/CHANGES
index 06a4949..f75da17 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,10 @@ Bug Fixes
* Pretty format comments in identifier lists (issue59).
* Several minor bug fixes and improvements.
+Other
+ * Deprecated sqlparse.SQLParseError. Please use
+ sqlparse.exceptions.SQLParseError instead.
+
Release 0.1.3 (Jul 29, 2011)
----------------------------
diff --git a/bin/sqlformat b/bin/sqlformat
index 8d219a5..dd56b2a 100755
--- a/bin/sqlformat
+++ b/bin/sqlformat
@@ -10,6 +10,7 @@ import os
import sys
import sqlparse
+from sqlparse.exceptions import SQLParseError
_CASE_CHOICES = ['upper', 'lower', 'capitalize']
@@ -91,7 +92,7 @@ def main():
formatter_opts = _build_formatter_opts(options)
try:
formatter_opts = sqlparse.formatter.validate_options(formatter_opts)
- except sqlparse.SQLParseError, err:
+ except SQLParseError, err:
_error('Invalid options: %s' % err, exit_=1)
stream.write(sqlparse.format(data, **formatter_opts).encode('utf-8',
diff --git a/docs/source/changes.rst b/docs/source/changes.rst
index 5811c57..7c1b861 100644
--- a/docs/source/changes.rst
+++ b/docs/source/changes.rst
@@ -3,5 +3,11 @@
Changes in python-sqlparse
==========================
+Upcoming Deprecations
+---------------------
+
+* ``sqlparse.SQLParseError`` is deprecated (version 0.1.5), use
+ ``sqlparse.exceptions.SQLParseError`` instead.
+
.. include:: ../../CHANGES
diff --git a/sqlparse/__init__.py b/sqlparse/__init__.py
index a380e33..230fd0d 100644
--- a/sqlparse/__init__.py
+++ b/sqlparse/__init__.py
@@ -9,15 +9,14 @@
__version__ = '0.1.4'
-class SQLParseError(Exception):
- """Base class for exceptions in this module."""
-
-
# Setup namespace
from sqlparse import engine
from sqlparse import filters
from sqlparse import formatter
+# Deprecated in 0.1.5. Will be removed in 0.2.0
+from sqlparse.exceptions import SQLParseError
+
def parse(sql):
"""Parse sql and return a list of statements.
diff --git a/sqlparse/exceptions.py b/sqlparse/exceptions.py
new file mode 100644
index 0000000..2a8e571
--- /dev/null
+++ b/sqlparse/exceptions.py
@@ -0,0 +1,11 @@
+# Copyright (C) 2012 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.
+
+"""Exceptions used in this package."""
+
+class SQLParseError(Exception):
+ """Base class for exceptions in this module."""
+
+
diff --git a/sqlparse/formatter.py b/sqlparse/formatter.py
index 5be6652..8761c16 100644
--- a/sqlparse/formatter.py
+++ b/sqlparse/formatter.py
@@ -5,8 +5,8 @@
"""SQL formatter"""
-from sqlparse import SQLParseError
from sqlparse import filters
+from sqlparse.exceptions import SQLParseError
def validate_options(options):
diff --git a/tests/test_format.py b/tests/test_format.py
index 0ec2192..9c764d7 100644
--- a/tests/test_format.py
+++ b/tests/test_format.py
@@ -3,6 +3,7 @@
from tests.utils import TestCaseBase
import sqlparse
+from sqlparse.exceptions import SQLParseError
class TestFormat(TestCaseBase):
@@ -15,7 +16,7 @@ class TestFormat(TestCaseBase):
self.ndiffAssertEqual(res, 'Select * From bar; -- select foo\n')
res = sqlparse.format(sql.upper(), keyword_case='lower')
self.ndiffAssertEqual(res, 'select * from BAR; -- SELECT FOO\n')
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, sql,
+ self.assertRaises(SQLParseError, sqlparse.format, sql,
keyword_case='foo')
def test_identifiercase(self):
@@ -26,7 +27,7 @@ class TestFormat(TestCaseBase):
self.ndiffAssertEqual(res, 'select * from Bar; -- select foo\n')
res = sqlparse.format(sql.upper(), identifier_case='lower')
self.ndiffAssertEqual(res, 'SELECT * FROM bar; -- SELECT FOO\n')
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, sql,
+ self.assertRaises(SQLParseError, sqlparse.format, sql,
identifier_case='foo')
sql = 'select * from "foo"."bar"'
res = sqlparse.format(sql, identifier_case="upper")
@@ -42,7 +43,7 @@ class TestFormat(TestCaseBase):
sql = 'select-- foo\nfrom -- bar\nwhere'
res = sqlparse.format(sql, strip_comments=True)
self.ndiffAssertEqual(res, 'select from where')
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, sql,
+ self.assertRaises(SQLParseError, sqlparse.format, sql,
strip_comments=None)
def test_strip_comments_multi(self):
@@ -65,7 +66,7 @@ class TestFormat(TestCaseBase):
self.ndiffAssertEqual(f(s), 'select * from foo where (1 = 2)')
s = 'select -- foo\nfrom bar\n'
self.ndiffAssertEqual(f(s), 'select -- foo\nfrom bar')
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, s,
+ self.assertRaises(SQLParseError, sqlparse.format, s,
strip_whitespace=None)
def test_preserve_ws(self):
@@ -76,20 +77,20 @@ class TestFormat(TestCaseBase):
def test_outputformat(self):
sql = 'select * from foo;'
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, sql,
+ self.assertRaises(SQLParseError, sqlparse.format, sql,
output_format='foo')
class TestFormatReindent(TestCaseBase):
def test_option(self):
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ self.assertRaises(SQLParseError, sqlparse.format, 'foo',
reindent=2)
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ self.assertRaises(SQLParseError, sqlparse.format, 'foo',
indent_tabs=2)
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ self.assertRaises(SQLParseError, sqlparse.format, 'foo',
reindent=True, indent_width='foo')
- self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ self.assertRaises(SQLParseError, sqlparse.format, 'foo',
reindent=True, indent_width= -12)
def test_stmts(self):