diff options
author | Jon Dufresne <jon.dufresne@gmail.com> | 2020-05-24 06:44:09 -0700 |
---|---|---|
committer | Jon Dufresne <jon.dufresne@gmail.com> | 2020-08-31 17:27:38 -0700 |
commit | 3e3892f939031d58d98275ce8a237689225d299a (patch) | |
tree | 93b64d7fd8aa1cc19335db11c915dfc59376eae9 /sqlparse/lexer.py | |
parent | 28a2acdd9b307c95d2111f1f831b1a5afc634691 (diff) | |
download | sqlparse-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.py | 12 |
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) |