diff --git a/stubs/psycopg2/@tests/test_cases/check_extensions.py b/stubs/psycopg2/@tests/test_cases/check_extensions.py index 3252e9ace..d8a2fb8d1 100644 --- a/stubs/psycopg2/@tests/test_cases/check_extensions.py +++ b/stubs/psycopg2/@tests/test_cases/check_extensions.py @@ -1,5 +1,6 @@ from __future__ import annotations +import io from typing_extensions import assert_type import psycopg2.extensions @@ -54,3 +55,8 @@ assert_type(dconn.cursor("test-dcur"), psycopg2.extras.DictCursor) assert_type(dconn.cursor("test-dcur", None), psycopg2.extras.DictCursor) assert_type(dconn.cursor("test-dcur", cursor_factory=None), psycopg2.extras.DictCursor) assert_type(dconn.cursor("test-dcur", cursor_factory=MyCursor), MyCursor) + +# file protocols +# -------------- +cur = conn.cursor() +cur.copy_from(io.StringIO(), "table") diff --git a/stubs/psycopg2/psycopg2/_psycopg.pyi b/stubs/psycopg2/psycopg2/_psycopg.pyi index 1902f3fbb..45cdead90 100644 --- a/stubs/psycopg2/psycopg2/_psycopg.pyi +++ b/stubs/psycopg2/psycopg2/_psycopg.pyi @@ -83,8 +83,8 @@ threadsafety: int __libpq_version__: int -class _SupportsReadAndReadline(SupportsRead[str], SupportsReadline[str]): ... -class _SupportsReadAndReadlineAndWrite(_SupportsReadAndReadline, SupportsWrite[str]): ... +class _SupportsReadAndReadline(SupportsRead[str], SupportsReadline[str], Protocol): ... +class _SupportsReadAndReadlineAndWrite(_SupportsReadAndReadline, SupportsWrite[str], Protocol): ... class cursor: arraysize: int