summaryrefslogtreecommitdiff
path: root/sqlparse/lexer.py
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2020-05-24 06:44:09 -0700
committerJon Dufresne <jon.dufresne@gmail.com>2020-08-31 17:27:38 -0700
commit3e3892f939031d58d98275ce8a237689225d299a (patch)
tree93b64d7fd8aa1cc19335db11c915dfc59376eae9 /sqlparse/lexer.py
parent28a2acdd9b307c95d2111f1f831b1a5afc634691 (diff)
downloadsqlparse-3e3892f939031d58d98275ce8a237689225d299a.tar.gz
Remove support for end-of-life Pythons
Python 2.7 and 3.4 are end-of-life. They are no longer receiving bug fixes, including for security issues. Python 2.7 went EOL on 2020-01-01 and 3.4 on 2019-03-18. For additional details on support Python versions, see: Supported: https://devguide.python.org/#status-of-python-branches EOL: https://devguide.python.org/devcycle/#end-of-life-branches Removing support for EOL Pythons will reduce testing and maintenance resources while allowing the library to move towards modern Python 3. Using pypinfo, we can show the PyPI download statistics, showing less than 10% of users are using Python 2.7. | python_version | percent | download_count | | -------------- | ------: | -------------: | | 3.7 | 45.36% | 3,056,010 | | 3.6 | 26.46% | 1,782,778 | | 3.8 | 12.22% | 823,213 | | 2.7 | 9.97% | 671,459 | | 3.5 | 5.86% | 394,846 | | 3.4 | 0.10% | 6,700 | | 3.9 | 0.03% | 2,346 | | 2.6 | 0.00% | 57 | | 3.3 | 0.00% | 21 | | 3.10 | 0.00% | 6 | | Total | | 6,737,436 | Library users who continue to use Python 2.7 will still be able to install previous versions of sqlparse. Compatibility shims have been dropped, simplifying the code. Using pyupgrade, the codebase has been updated to take advantage of modern syntax <https://github.com/asottile/pyupgrade>. The wheel is no longer marked as "universal" as it is now Python 3 only.
Diffstat (limited to 'sqlparse/lexer.py')
-rw-r--r--sqlparse/lexer.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/sqlparse/lexer.py b/sqlparse/lexer.py
index fd007a4..836d53d 100644
--- a/sqlparse/lexer.py
+++ b/sqlparse/lexer.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
#
# Copyright (C) 2009-2018 the sqlparse authors and contributors
# <see AUTHORS file>
@@ -13,13 +12,14 @@
# It's separated from the rest of pygments to increase performance
# and to allow some customizations.
+from io import TextIOBase
+
from sqlparse import tokens
from sqlparse.keywords import SQL_REGEX
-from sqlparse.compat import text_type, file_types
from sqlparse.utils import consume
-class Lexer(object):
+class Lexer:
"""Lexer
Empty class. Leaving for backwards-compatibility
"""
@@ -38,10 +38,10 @@ class Lexer(object):
``stack`` is the initial stack (default: ``['root']``)
"""
- if isinstance(text, file_types):
+ if isinstance(text, TextIOBase):
text = text.read()
- if isinstance(text, text_type):
+ if isinstance(text, str):
pass
elif isinstance(text, bytes):
if encoding:
@@ -52,7 +52,7 @@ class Lexer(object):
except UnicodeDecodeError:
text = text.decode('unicode-escape')
else:
- raise TypeError(u"Expected text or file-like object, got {!r}".
+ raise TypeError("Expected text or file-like object, got {!r}".
format(type(text)))
iterable = enumerate(text)