dbcli / litecli

CLI for SQLite Databases with auto-completion and syntax highlighting
https://litecli.com
BSD 3-Clause "New" or "Revised" License
2.52k stars 74 forks source link

Fix compatibility with sqlparse >= 0.4.0 #102

Closed chocolateboy closed 3 years ago

chocolateboy commented 3 years ago

Description

sqlparse v0.4.0 (October 7, 2020) has removed sqlparse.compat, which results in the following error when launching litecli with the latest version of sqlparse installed:

Traceback (most recent call last):
  File "/usr/bin/litecli", line 33, in <module>
    sys.exit(load_entry_point('litecli==1.3.2', 'console_scripts', 'litecli')())
  File "/usr/bin/litecli", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/lib/python3.8/site-packages/litecli/main.py", line 36, in <module>
    from .sqlcompleter import SQLCompleter
  File "/usr/lib/python3.8/site-packages/litecli/sqlcompleter.py", line 9, in <module>
    from .packages.completion_engine import suggest_type
  File "/usr/lib/python3.8/site-packages/litecli/packages/completion_engine.py", line 5, in <module>
    from sqlparse.compat import text_type
ModuleNotFoundError: No module named 'sqlparse.compat'

Since only one trivial type is imported from sqlparse.compat, this PR moves it into encodingutils.py.

Environment

Checklist

codecov-io commented 3 years ago

Codecov Report

Merging #102 into master will decrease coverage by 0.05%. The diff coverage is 60.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #102      +/-   ##
==========================================
- Coverage   62.38%   62.32%   -0.06%     
==========================================
  Files          23       23              
  Lines        1938     1935       -3     
==========================================
- Hits         1209     1206       -3     
  Misses        729      729              
Impacted Files Coverage Δ
litecli/encodingutils.py 47.05% <50.00%> (+0.39%) :arrow_up:
litecli/packages/completion_engine.py 88.19% <100.00%> (+0.24%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update bb87bb1...4926c5e. Read the comment docs.

amjith commented 3 years ago

Thanks!