From 634f2f2e91448bf75c5cd087094389c2afb06409 Mon Sep 17 00:00:00 2001 From: andreymal Date: Wed, 30 Aug 2023 23:21:52 +0300 Subject: [PATCH] Improve type annotations in amsphinxql --- mini_fiction/apis/amsphinxql.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mini_fiction/apis/amsphinxql.py b/mini_fiction/apis/amsphinxql.py index f3a6144f..24dd7181 100644 --- a/mini_fiction/apis/amsphinxql.py +++ b/mini_fiction/apis/amsphinxql.py @@ -2,8 +2,13 @@ from queue import Queue from threading import Lock, local from dataclasses import dataclass +import typing from typing import Any, TypeVar, Union, Optional, Sequence, Tuple, List, Dict +if typing.TYPE_CHECKING: + from MySQLdb.cursors import Cursor + + T = TypeVar("T", bound="SphinxConnection") @@ -73,7 +78,7 @@ def _execute( self, sql: str, args: Optional[Sequence[Union[str, bytes]]] = None, - ): + ) -> "Cursor": cursor = self.mysql_conn.cursor() cursor.execute(sql, args) return cursor @@ -389,7 +394,7 @@ def __init__( self, conn: Dict[str, Any], max_conns: int = 5, - conn_queue: Optional[Queue] = None, + conn_queue: "Optional[Queue[SphinxConnection]]" = None, ): self.conn = conn self.max_conns = max_conns