]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Using type Iterator instead of Generator when possible
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 30 Oct 2020 02:13:38 +0000 (03:13 +0100)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 30 Oct 2020 02:14:12 +0000 (03:14 +0100)
psycopg3/psycopg3/copy.py
psycopg3/psycopg3/oids.py
psycopg3/psycopg3/types/array.py
psycopg3/psycopg3/types/composite.py

index 4a6ebaaafe8f8a410430a02224a4a1529038614f..ff61cf988519f3c71793a843908da1a3cdfe1324 100644 (file)
@@ -7,7 +7,7 @@ psycopg3 copy support
 import re
 import codecs
 import struct
-from typing import TYPE_CHECKING, AsyncGenerator, Generator
+from typing import TYPE_CHECKING, AsyncIterator, Iterator
 from typing import Any, Dict, List, Match, Optional, Sequence, Type, Union
 from types import TracebackType
 
@@ -207,7 +207,7 @@ class Copy(BaseCopy):
         else:
             self.finish(str(exc_val))
 
-    def __iter__(self) -> Generator[bytes, None, None]:
+    def __iter__(self) -> Iterator[bytes]:
         while 1:
             data = self.read()
             if data is None:
@@ -268,7 +268,7 @@ class AsyncCopy(BaseCopy):
         else:
             await self.finish(str(exc_val))
 
-    async def __aiter__(self) -> AsyncGenerator[bytes, None]:
+    async def __aiter__(self) -> AsyncIterator[bytes]:
         while 1:
             data = await self.read()
             if data is None:
index c9d6de145b284c8d2a45f2b016564d8a35afe68c..7aebf19a19b6921685d70fbdddd366184cea0596 100644 (file)
@@ -8,7 +8,7 @@ to a Postgres server.
 # Copyright (C) 2020 The Psycopg Team
 
 import re
-from typing import Dict, Generator, Optional, Union
+from typing import Dict, Iterator, Optional, Union
 
 INVALID_OID = 0
 
@@ -53,7 +53,7 @@ class TypesRegistry:
             if info.alt_name not in self._by_name:
                 self._by_name[info.alt_name] = info
 
-    def __iter__(self) -> Generator[TypeInfo, None, None]:
+    def __iter__(self) -> Iterator[TypeInfo]:
         seen = set()
         for t in self._by_oid.values():
             if t.oid not in seen:
index fbb79490f912ef98d189d13098c1a19376b13bed..3b08031b3267ace8a74e54fa1b5d65c647720240 100644 (file)
@@ -6,7 +6,7 @@ Adapters for arrays
 
 import re
 import struct
-from typing import Any, Generator, List, Optional, Type
+from typing import Any, Iterator, List, Optional, Type
 
 from .. import errors as e
 from ..oids import builtins
@@ -241,7 +241,7 @@ class ArrayBinaryLoader(BaseArrayLoader):
             _struct_dim.unpack_from(data, i)[0] for i in list(range(12, p, 8))
         ]
 
-        def consume(p: int) -> Generator[Any, None, None]:
+        def consume(p: int) -> Iterator[Any]:
             while 1:
                 size = _struct_len.unpack_from(data, p)[0]
                 p += 4
index 64e82fc5e2a5cdab576333506e0ab9899943794c..11df459fc10ad915ac8d4314d3531f31e31d433c 100644 (file)
@@ -5,7 +5,7 @@ Support for composite types adaptation.
 import re
 import struct
 from collections import namedtuple
-from typing import Any, Callable, Generator, Sequence, Tuple, Type
+from typing import Any, Callable, Iterator, Sequence, Tuple, Type
 from typing import Optional, TYPE_CHECKING
 
 from .. import pq
@@ -176,9 +176,7 @@ class RecordLoader(BaseCompositeLoader):
             for token in self._parse_record(data)
         )
 
-    def _parse_record(
-        self, data: bytes
-    ) -> Generator[Optional[bytes], None, None]:
+    def _parse_record(self, data: bytes) -> Iterator[Optional[bytes]]:
         if data == b"()":
             return
 
@@ -221,9 +219,7 @@ class RecordBinaryLoader(BaseCompositeLoader):
             )
         )
 
-    def _walk_record(
-        self, data: bytes
-    ) -> Generator[Tuple[int, int, int], None, None]:
+    def _walk_record(self, data: bytes) -> Iterator[Tuple[int, int, int]]:
         """
         Yield a sequence of (oid, offset, length) for the content of the record
         """