From: Daniele Varrazzo Date: Sun, 5 Jun 2022 13:13:46 +0000 (+0200) Subject: refactor: add NoneType to abc module X-Git-Tag: 3.1~49^2~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2843a21b79be6ae9e71d3ce2df848ac4aa3dee8e;p=thirdparty%2Fpsycopg.git refactor: add NoneType to abc module --- diff --git a/psycopg/psycopg/_transform.py b/psycopg/psycopg/_transform.py index 93a4435d9..44f6b93ba 100644 --- a/psycopg/psycopg/_transform.py +++ b/psycopg/psycopg/_transform.py @@ -5,13 +5,13 @@ Helper object to transform values between Python and PostgreSQL # Copyright (C) 2020 The Psycopg Team from typing import Any, Dict, List, Optional, Sequence, Tuple -from typing import DefaultDict, Type, TYPE_CHECKING +from typing import DefaultDict, TYPE_CHECKING from collections import defaultdict from . import pq from . import postgres from . import errors as e -from .abc import Buffer, LoadFunc, AdaptContext, PyFormat, DumperKey +from .abc import Buffer, LoadFunc, AdaptContext, PyFormat, DumperKey, NoneType from .rows import Row, RowMaker from ._compat import TypeAlias from .postgres import INVALID_OID, TEXT_OID @@ -23,7 +23,6 @@ if TYPE_CHECKING: from .pq.abc import PGresult from .connection import BaseConnection -NoneType: Type[None] = type(None) DumperCache: TypeAlias = Dict[DumperKey, "Dumper"] OidDumperCache: TypeAlias = Dict[int, "Dumper"] LoaderCache: TypeAlias = Dict[int, "Loader"] diff --git a/psycopg/psycopg/abc.py b/psycopg/psycopg/abc.py index 0da76e4d0..06c7b69db 100644 --- a/psycopg/psycopg/abc.py +++ b/psycopg/psycopg/abc.py @@ -20,6 +20,8 @@ if TYPE_CHECKING: from .connection import BaseConnection from ._adapters_map import AdaptersMap +NoneType: type = type(None) + # An object implementing the buffer protocol Buffer: TypeAlias = Union[bytes, bytearray, memoryview] diff --git a/psycopg/psycopg/crdb.py b/psycopg/psycopg/crdb.py index 2b0e60cd9..cf61d7a72 100644 --- a/psycopg/psycopg/crdb.py +++ b/psycopg/psycopg/crdb.py @@ -10,7 +10,7 @@ from typing import Any, Optional, Type, Union, overload, TYPE_CHECKING from ._typeinfo import TypeInfo, TypesRegistry from . import errors as e -from .abc import AdaptContext +from .abc import AdaptContext, NoneType from .rows import Row, RowFactory, AsyncRowFactory, TupleRow from .postgres import TEXT_OID from .conninfo import ConnectionInfo @@ -263,7 +263,7 @@ def register_crdb_net_adapters(context: AdaptContext) -> None: def register_crdb_none_adapters(context: AdaptContext) -> None: - context.adapters.register_dumper(type(None), CrdbNoneDumper) + context.adapters.register_dumper(NoneType, CrdbNoneDumper) for t in [ diff --git a/psycopg/psycopg/types/array.py b/psycopg/psycopg/types/array.py index ef9429b15..569e61f66 100644 --- a/psycopg/psycopg/types/array.py +++ b/psycopg/psycopg/types/array.py @@ -13,7 +13,7 @@ from functools import lru_cache from .. import pq from .. import errors as e from .. import postgres -from ..abc import AdaptContext, Buffer, Dumper, DumperKey +from ..abc import AdaptContext, Buffer, Dumper, DumperKey, NoneType from ..adapt import RecursiveDumper, RecursiveLoader, PyFormat from .._struct import pack_len, unpack_len from ..postgres import TEXT_OID, INVALID_OID @@ -27,7 +27,6 @@ _pack_dim = cast(Callable[[int, int], bytes], _struct_dim.pack) _unpack_dim = cast(Callable[[bytes, int], Tuple[int, int]], _struct_dim.unpack_from) TEXT_ARRAY_OID = postgres.types["text"].array_oid -NoneType: type = type(None) class BaseListDumper(RecursiveDumper): diff --git a/psycopg/psycopg/types/none.py b/psycopg/psycopg/types/none.py index 6a80fab37..2ab857cca 100644 --- a/psycopg/psycopg/types/none.py +++ b/psycopg/psycopg/types/none.py @@ -4,7 +4,7 @@ Adapters for None. # Copyright (C) 2020 The Psycopg Team -from ..abc import AdaptContext +from ..abc import AdaptContext, NoneType from ..adapt import Dumper @@ -22,4 +22,4 @@ class NoneDumper(Dumper): def register_default_adapters(context: AdaptContext) -> None: - context.adapters.register_dumper(type(None), NoneDumper) + context.adapters.register_dumper(NoneType, NoneDumper)