]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Include None in AdaptContext
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Wed, 1 Apr 2020 11:59:01 +0000 (00:59 +1300)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Wed, 1 Apr 2020 11:59:01 +0000 (00:59 +1300)
Using Union[None...] instead of Optional[... is a choice. None has a
meaning, it means global, not optional.

psycopg3/adaptation.py
psycopg3/connection.py
psycopg3/utils/queries.py

index 5ba57a649677a75c9bc06d5f0521e91db40bff72..3db374ce587a2787995651a972c6b50df581315e 100644 (file)
@@ -5,18 +5,9 @@ Entry point into the adaptation system.
 # Copyright (C) 2020 The Psycopg Team
 
 import codecs
-from typing import (
-    Any,
-    Callable,
-    cast,
-    Dict,
-    Generator,
-    List,
-    Optional,
-    Sequence,
-    Tuple,
-    Union,
-)
+from typing import cast
+from typing import Any, Callable, Dict, Generator, List, Optional, Sequence
+from typing import Tuple, Union
 
 from . import exceptions as exc
 from .pq import Format, PGresult
@@ -28,7 +19,7 @@ from .utils.typing import DecodeFunc, Oid
 
 # Type system
 
-AdaptContext = Union[BaseConnection, BaseCursor]
+AdaptContext = Union[None, BaseConnection, BaseCursor]
 
 MaybeOid = Union[Optional[bytes], Tuple[Optional[bytes], Oid]]
 AdapterFunc = Callable[[Any], MaybeOid]
@@ -54,7 +45,7 @@ class Adapter:
     def register(
         cls: type,
         adapter: AdapterType,
-        context: Optional[AdaptContext] = None,
+        context: AdaptContext = None,
         format: Format = Format.TEXT,
     ) -> AdapterType:
         if not isinstance(cls, type):
@@ -85,9 +76,7 @@ class Adapter:
 
     @staticmethod
     def register_binary(
-        cls: type,
-        adapter: AdapterType,
-        context: Optional[AdaptContext] = None,
+        cls: type, adapter: AdapterType, context: AdaptContext = None,
     ) -> AdapterType:
         return Adapter.register(cls, adapter, context, format=Format.BINARY)
 
@@ -122,7 +111,7 @@ class Typecaster:
     def register(
         oid: Oid,
         caster: TypecasterType,
-        context: Optional[AdaptContext] = None,
+        context: AdaptContext = None,
         format: Format = Format.TEXT,
     ) -> TypecasterType:
         if not isinstance(oid, int):
@@ -153,9 +142,7 @@ class Typecaster:
 
     @staticmethod
     def register_binary(
-        oid: Oid,
-        caster: TypecasterType,
-        context: Optional[AdaptContext] = None,
+        oid: Oid, caster: TypecasterType, context: AdaptContext = None,
     ) -> TypecasterType:
         return Typecaster.register(oid, caster, context, format=Format.BINARY)
 
@@ -188,7 +175,7 @@ class Transformer:
     connection: Optional[BaseConnection]
     cursor: Optional[BaseCursor]
 
-    def __init__(self, context: Optional[AdaptContext]):
+    def __init__(self, context: AdaptContext):
         if context is None:
             self.connection = None
             self.cursor = None
index 8c68b7a7396ee650d2ffa2e6eb325499cbdd9988..cf62cc31b2c9573b51e24c40eb5cfd09dd644d12 100644 (file)
@@ -8,17 +8,8 @@ import codecs
 import logging
 import asyncio
 import threading
-from typing import (
-    cast,
-    Any,
-    Generator,
-    List,
-    Optional,
-    Tuple,
-    Type,
-    TypeVar,
-    TYPE_CHECKING,
-)
+from typing import Any, Generator, List, Optional, Tuple, Type, TypeVar
+from typing import cast, TYPE_CHECKING
 
 from . import pq
 from . import exceptions as exc
index 52f2ece0593f6611041586f7f21ea9f6dfd536b0..6ca0b83ab5c2aa9f0351168531cfe2bb49fc5a04 100644 (file)
@@ -6,18 +6,8 @@ Utility module to manipulate queries
 
 import re
 from codecs import CodecInfo
-from typing import (
-    Any,
-    Dict,
-    List,
-    Mapping,
-    Match,
-    NamedTuple,
-    Optional,
-    Sequence,
-    Tuple,
-    Union,
-)
+from typing import Any, Dict, List, Mapping, Match, NamedTuple, Optional
+from typing import Sequence, Tuple, Union
 
 from .. import exceptions as exc
 from ..pq import Format