这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Bug Fixes
Internal
--------
* Improve pull request template lint commands.
* Continue typehinting the non-test codebase.
* Complete typehinting the non-test codebase.


1.37.1 (2025/07/28)
Expand Down
19 changes: 10 additions & 9 deletions mycli/magic.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# type: ignore
from __future__ import annotations

import logging
from typing import Any

import sql.connection
import sql.parse

from mycli.main import MyCli
from mycli.main import MyCli, Query

_logger = logging.getLogger(__name__)
_logger: logging.Logger = logging.getLogger(__name__)


def load_ipython_extension(ipython):
def load_ipython_extension(ipython) -> None:
# This is called via the ipython command '%load_ext mycli.magic'.

# First, load the sql magic if it isn't already loaded.
Expand All @@ -21,9 +22,9 @@ def load_ipython_extension(ipython):
ipython.register_magic_function(mycli_line_magic, "line", "mycli")


def mycli_line_magic(line):
def mycli_line_magic(line: str):
_logger.debug("mycli magic called: %r", line)
parsed = sql.parse.parse(line, {})
parsed: dict[str, Any] = sql.parse.parse(line, {})
# "get" was renamed to "set" in ipython-sql:
# https://github.com/catherinedevlin/ipython-sql/commit/f4283c65aaf68f961e84019e8b939e4a3c501d43
if hasattr(sql.connection.Connection, "get"):
Expand All @@ -36,7 +37,7 @@ def mycli_line_magic(line):
conn = sql.connection.Connection.set(parsed["connection"], False)
try:
# A corresponding mycli object already exists
mycli = conn._mycli
mycli: MyCli = conn._mycli
_logger.debug("Reusing existing mycli")
except AttributeError:
mycli = MyCli()
Expand All @@ -57,11 +58,11 @@ def mycli_line_magic(line):
if not mycli.query_history:
return

q = mycli.query_history[-1]
q: Query = mycli.query_history[-1]
if q.mutating:
_logger.debug("Mutating query detected -- ignoring")
return

if q.successful:
ipython = get_ipython() # noqa: F821
ipython = get_ipython() # type: ignore # noqa: F821
return ipython.run_cell_magic("sql", line, q.query)
4 changes: 2 additions & 2 deletions mycli/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

from mycli import __version__
from mycli.clibuffer import cli_is_multiline
from mycli.clistyle import style_factory, style_factory_output # type: ignore[attr-defined]
from mycli.clistyle import style_factory, style_factory_output
from mycli.clitoolbar import create_toolbar_tokens_func
from mycli.compat import WIN
from mycli.completion_refresher import CompletionRefresher
Expand Down Expand Up @@ -404,7 +404,7 @@ def connect(
ssh_port: int = 22,
ssh_password: str | None = "",
ssh_key_filename: str | None = "",
init_command: str = "",
init_command: str | None = "",
password_file: str | None = "",
) -> None:
cnf = {
Expand Down