mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-16 00:37:10 +08:00
Improve pymysql.converters stubs (#6267)
I spent far too much time being confused about why pyanalyze thought `pymysql.converters.escape_dict` only takes two arguments. I rewrote the stubs from scratch using the implementation: https://github.com/PyMySQL/PyMySQL/blob/main/pymysql/converters.py. The "charset" argument is ignored as far as I can tell; it gets passed to other functions but no function actually uses it. Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
This commit is contained in:
@@ -2,40 +2,6 @@ pymysql.connections.byte2int
|
||||
pymysql.connections.int2byte
|
||||
pymysql.connections.lenenc_int
|
||||
pymysql.connections.pack_int24
|
||||
pymysql.converters.ESCAPE_MAP
|
||||
pymysql.converters.ESCAPE_REGEX
|
||||
pymysql.converters.FLAG
|
||||
pymysql.converters.PYTHON3
|
||||
pymysql.converters.charset_by_id
|
||||
pymysql.converters.convert_bit
|
||||
pymysql.converters.convert_characters
|
||||
pymysql.converters.convert_date
|
||||
pymysql.converters.convert_datetime
|
||||
pymysql.converters.convert_decimal
|
||||
pymysql.converters.convert_float
|
||||
pymysql.converters.convert_int
|
||||
pymysql.converters.convert_long
|
||||
pymysql.converters.convert_mysql_timestamp
|
||||
pymysql.converters.convert_set
|
||||
pymysql.converters.convert_time
|
||||
pymysql.converters.convert_timedelta
|
||||
pymysql.converters.escape_None
|
||||
pymysql.converters.escape_bool
|
||||
pymysql.converters.escape_date
|
||||
pymysql.converters.escape_datetime
|
||||
pymysql.converters.escape_decimal
|
||||
pymysql.converters.escape_dict
|
||||
pymysql.converters.escape_float
|
||||
pymysql.converters.escape_item
|
||||
pymysql.converters.escape_long
|
||||
pymysql.converters.escape_object
|
||||
pymysql.converters.escape_sequence
|
||||
pymysql.converters.escape_set
|
||||
pymysql.converters.escape_string
|
||||
pymysql.converters.escape_struct_time
|
||||
pymysql.converters.escape_time
|
||||
pymysql.converters.escape_timedelta
|
||||
pymysql.converters.escape_unicode
|
||||
pymysql.cursors.Cursor.__del__
|
||||
# DictCursorMixin changes method types of inherited classes, but doesn't contain much at runtime
|
||||
pymysql.cursors.DictCursorMixin.__iter__
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
version = "1.0.*"
|
||||
python2 = true
|
||||
|
||||
@@ -1,47 +1,39 @@
|
||||
from typing import Any
|
||||
import datetime
|
||||
import time
|
||||
from collections.abc import Callable, Mapping, Sequence
|
||||
from decimal import Decimal
|
||||
from typing import Any, Optional, Type, TypeVar
|
||||
|
||||
from .charset import charset_by_id as charset_by_id
|
||||
from .constants import FIELD_TYPE as FIELD_TYPE, FLAG as FLAG
|
||||
_EscaperMapping = Optional[Mapping[Type[object], Callable[..., str]]]
|
||||
_T = TypeVar("_T")
|
||||
|
||||
PYTHON3: Any
|
||||
ESCAPE_REGEX: Any
|
||||
ESCAPE_MAP: Any
|
||||
def escape_item(val: object, charset: object, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_dict(val: Mapping[str, object], charset: object, mapping: _EscaperMapping = ...) -> dict[str, str]: ...
|
||||
def escape_sequence(val: Sequence[object], charset: object, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_set(val: set[object], charset: object, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_bool(value: bool, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_int(value: int, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_float(value: float, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_string(value: str, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_bytes_prefixed(value: bytes, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_bytes(value: bytes, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_str(value: str, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_None(value: None, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_timedelta(obj: datetime.timedelta, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_time(obj: datetime.time, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_datetime(obj: datetime.datetime, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_date(obj: datetime.date, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def escape_struct_time(obj: time.struct_time, mapping: _EscaperMapping = ...) -> str: ...
|
||||
def Decimal2Literal(o: Decimal, d: object) -> str: ...
|
||||
def convert_datetime(obj: str | bytes) -> datetime.datetime | str: ...
|
||||
def convert_timedelta(obj: str | bytes) -> datetime.timedelta | str: ...
|
||||
def convert_time(obj: str | bytes) -> datetime.time | str: ...
|
||||
def convert_date(obj: str | bytes) -> datetime.date | str: ...
|
||||
def through(x: _T) -> _T: ...
|
||||
|
||||
def escape_item(val, charset): ...
|
||||
def escape_dict(val, charset): ...
|
||||
def escape_sequence(val, charset): ...
|
||||
def escape_set(val, charset): ...
|
||||
def escape_bool(value): ...
|
||||
def escape_object(value): ...
|
||||
convert_bit = through
|
||||
|
||||
escape_int: Any
|
||||
|
||||
escape_long: Any
|
||||
|
||||
def escape_float(value): ...
|
||||
def escape_string(value): ...
|
||||
def escape_unicode(value): ...
|
||||
def escape_None(value): ...
|
||||
def escape_timedelta(obj): ...
|
||||
def escape_time(obj): ...
|
||||
def escape_datetime(obj): ...
|
||||
def escape_date(obj): ...
|
||||
def escape_struct_time(obj): ...
|
||||
def convert_datetime(connection, field, obj): ...
|
||||
def convert_timedelta(connection, field, obj): ...
|
||||
def convert_time(connection, field, obj): ...
|
||||
def convert_date(connection, field, obj): ...
|
||||
def convert_mysql_timestamp(connection, field, timestamp): ...
|
||||
def convert_set(s): ...
|
||||
def convert_bit(connection, field, b): ...
|
||||
def convert_characters(connection, field, data): ...
|
||||
def convert_int(connection, field, data): ...
|
||||
def convert_long(connection, field, data): ...
|
||||
def convert_float(connection, field, data): ...
|
||||
|
||||
encoders: Any
|
||||
decoders: Any
|
||||
conversions: Any
|
||||
|
||||
def convert_decimal(connection, field, data): ...
|
||||
def escape_decimal(obj): ...
|
||||
encoders: dict[Type[object], Callable[..., str]]
|
||||
decoders: dict[int, Callable[[str | bytes], Any]]
|
||||
conversions: dict[Type[object] | int, Callable[..., Any]]
|
||||
Thing2Literal = escape_str
|
||||
|
||||
Reference in New Issue
Block a user