Skip to content

Commit 1991130

Browse files
committed
fix: resolve ty import conflicts
1 parent bdcd676 commit 1991130

4 files changed

Lines changed: 42 additions & 21 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
- Clean up ty type-checking for optional sqlean/llm imports.
1414
- Add an llm module alias for test patching.
15+
- Avoid ty conflicts for optional sqlite/llm imports.
1516

1617
## 1.18.0
1718

litecli/main.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,18 @@
4646
from .sqlcompleter import SQLCompleter
4747
from .sqlexecute import SQLExecute
4848

49-
try:
50-
import sqlean as _sqlite3
51-
except ImportError:
52-
import sqlite3 as _sqlite3
5349

54-
_sqlite3 = cast(Any, _sqlite3)
50+
def _load_sqlite3() -> Any:
51+
try:
52+
import sqlean
53+
except ImportError:
54+
import sqlite3
55+
56+
return sqlite3
57+
return sqlean
58+
59+
60+
_sqlite3 = _load_sqlite3()
5561
OperationalError = _sqlite3.OperationalError
5662
sqlite_version = _sqlite3.sqlite_version
5763

litecli/packages/special/llm.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,28 @@
1515

1616
import click
1717

18-
try:
19-
import llm as llm_module
20-
except ImportError:
21-
llm_module = None
22-
23-
try:
24-
llm_cli_module = importlib.import_module("llm.cli")
25-
except ImportError:
26-
llm_cli_module = None
27-
2818
from . import export
2919
from .main import Verbosity, parse_special_command
3020
from .types import DBCursor
3121

22+
23+
def _load_llm_module() -> Any | None:
24+
try:
25+
return importlib.import_module("llm")
26+
except ImportError:
27+
return None
28+
29+
30+
def _load_llm_cli_module() -> Any | None:
31+
try:
32+
return importlib.import_module("llm.cli")
33+
except ImportError:
34+
return None
35+
36+
37+
llm_module = _load_llm_module()
38+
llm_cli_module = _load_llm_cli_module()
39+
3240
# Alias for tests and patching.
3341
llm = llm_module
3442

tests/test_sqlexecute.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
# coding=UTF-8
22

33
import os
4-
from typing import Any, cast
4+
from typing import Any
55

66
import pytest
77

88
from .utils import assert_result_equal, dbtest, is_expanded_output, run, set_expanded_output
99

10-
try:
11-
import sqlean as _sqlite3
12-
except ImportError:
13-
import sqlite3 as _sqlite3
1410

15-
_sqlite3 = cast(Any, _sqlite3)
11+
def _load_sqlite3() -> Any:
12+
try:
13+
import sqlean
14+
except ImportError:
15+
import sqlite3
16+
17+
return sqlite3
18+
return sqlean
19+
20+
21+
_sqlite3 = _load_sqlite3()
1622
OperationalError = _sqlite3.OperationalError
1723
ProgrammingError = _sqlite3.ProgrammingError
1824

0 commit comments

Comments
 (0)