]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Make encodings module private
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 14 May 2021 21:30:54 +0000 (23:30 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sun, 26 Sep 2021 22:08:43 +0000 (00:08 +0200)
psycopg/psycopg/_encodings.py [moved from psycopg/psycopg/encodings.py with 96% similarity]
psycopg/psycopg/connection.py
psycopg/psycopg/conninfo.py
psycopg/psycopg/generators.py
psycopg/psycopg/pq/misc.py
psycopg_c/psycopg_c/types/string.pyx
tests/test_connection.py
tests/test_connection_async.py
tests/test_encodings.py

similarity index 96%
rename from psycopg/psycopg/encodings.py
rename to psycopg/psycopg/_encodings.py
index 80a725f19ed75a4a9149f7e95edadb772219e442..5d92ed4d4aaa2231580906a35010dd682f1b10fd 100644 (file)
@@ -63,7 +63,7 @@ py_codecs.update((k.encode(), v) for k, v in _py_codecs.items())
 pg_codecs = {v: k.encode() for k, v in _py_codecs.items()}
 
 
-def py2pg(name: str) -> bytes:
+def py2pgenc(name: str) -> bytes:
     """Convert a Python encoding name to PostgreSQL encoding name.
 
     Raise LookupError if the Python encoding is unknown.
@@ -71,7 +71,7 @@ def py2pg(name: str) -> bytes:
     return pg_codecs[codecs.lookup(name).name]
 
 
-def pg2py(name: Union[bytes, str]) -> str:
+def pg2pyenc(name: Union[bytes, str]) -> str:
     """Convert a Python encoding name to PostgreSQL encoding name.
 
     Raise NotSupportedError if the PostgreSQL encoding is not supported by
index 8b4900a014b179f8e441a30dfc3a919e02b6a601..8e89250fca58c4f41e9c3a6e5ee6f227809e3761 100644 (file)
@@ -19,7 +19,6 @@ from . import pq
 from . import errors as e
 from . import waiting
 from . import postgres
-from . import encodings
 from .pq import ConnStatus, ExecStatus, TransactionStatus, Format
 from .abc import AdaptContext, ConnectionType, Params, Query, RV
 from .abc import PQGen, PQGenConn
@@ -31,6 +30,7 @@ from .cursor import Cursor
 from ._cmodule import _psycopg
 from .conninfo import make_conninfo, conninfo_to_dict, ConnectionInfo
 from .generators import notifies
+from ._encodings import pg2pyenc
 from ._preparing import PrepareManager
 from .transaction import Transaction
 from .server_cursor import ServerCursor
@@ -263,7 +263,7 @@ class BaseConnection(Generic[Row]):
     def client_encoding(self) -> str:
         """The Python codec name of the connection's client encoding."""
         pgenc = self.pgconn.parameter_status(b"client_encoding") or b"UTF8"
-        return encodings.pg2py(pgenc)
+        return pg2pyenc(pgenc)
 
     @property
     def info(self) -> ConnectionInfo:
index 0a61a508bb6060deb52be4e90211852ecfda8d34..af924c7ef20ece2881c658927b961fffc5e5647b 100644 (file)
@@ -11,8 +11,8 @@ from datetime import tzinfo
 
 from . import pq
 from . import errors as e
-from . import encodings
 from ._tz import get_tzinfo
+from ._encodings import pg2pyenc
 
 
 def make_conninfo(conninfo: str = "", **kwargs: Any) -> str:
@@ -266,4 +266,4 @@ class ConnectionInfo:
     @property
     def _pyenc(self) -> str:
         pgenc = self.pgconn.parameter_status(b"client_encoding") or b"UTF8"
-        return encodings.pg2py(pgenc)
+        return pg2pyenc(pgenc)
index 4675f02117581ed1cba91da7a6a73bdab1e09325..95eb000534b384a0caaf2254a5ac75f30b62a2fc 100644 (file)
@@ -22,9 +22,9 @@ from . import pq
 from . import errors as e
 from .pq import ConnStatus, PollingStatus, ExecStatus
 from .abc import PQGen, PQGenConn
-from .waiting import Wait, Ready
-from .encodings import py_codecs
 from .pq.abc import PGconn, PGresult
+from .waiting import Wait, Ready
+from ._encodings import py_codecs
 
 logger = logging.getLogger(__name__)
 
index 965fb665e679939d7c7383cb1100e2ade4272516..952d9779e73eaca2e880eb1512f339a3b5566b21 100644 (file)
@@ -8,6 +8,7 @@ from typing import cast, NamedTuple, Optional, Union
 
 from .abc import PGconn, PGresult
 from ._enums import ConnStatus, TransactionStatus
+from .._encodings import py_codecs
 
 
 class PGnotify(NamedTuple):
@@ -58,8 +59,6 @@ def error_message(obj: Union[PGconn, PGresult], encoding: str = "utf8") -> str:
             bmsg = bmsg.split(b":", 1)[-1].strip()
 
     elif hasattr(obj, "error_message"):
-        from ..encodings import py_codecs
-
         # obj is a PGconn
         obj = cast(PGconn, obj)
         if obj.status == ConnStatus.OK:
index c4558504d169489f0381ee223b55e2eed90217ec..3fbae8fc7cf0e411769e2efe97fbfb2d2d0e2dbf 100644 (file)
@@ -19,7 +19,7 @@ from cpython.unicode cimport (
 from psycopg_c.pq cimport libpq, Escaping, _buffer_as_string_and_size
 
 from psycopg import errors as e
-from psycopg.encodings import pg2py
+from psycopg._encodings import pg2pyenc
 
 cdef extern from "Python.h":
     const char *PyUnicode_AsUTF8AndSize(unicode obj, Py_ssize_t *size) except NULL
@@ -43,7 +43,7 @@ cdef class _BaseStrDumper(CDumper):
                 self._bytes_encoding = b"utf-8"
                 self.is_utf8 = 1
             else:
-                self._bytes_encoding = pg2py(pgenc).encode()
+                self._bytes_encoding = pg2pyenc(pgenc).encode()
                 if self._bytes_encoding == b"ascii":
                     self.is_utf8 = 1
             self.encoding = PyBytes_AsString(self._bytes_encoding)
@@ -124,7 +124,7 @@ cdef class _TextLoader(CLoader):
                 self._bytes_encoding = b"utf-8"
                 self.is_utf8 = 1
             else:
-                self._bytes_encoding = pg2py(pgenc).encode()
+                self._bytes_encoding = pg2pyenc(pgenc).encode()
 
             if pgenc == b"SQL_ASCII":
                 self.encoding = NULL
index 07044cb05c88ea18447dfacb512f431a8e6ddc52..f6324d8e22b378ae1b70940a9b0a4eab5444e08b 100644 (file)
@@ -7,7 +7,7 @@ import weakref
 from threading import Thread
 
 import psycopg
-from psycopg import encodings
+from psycopg._encodings import pg2pyenc
 from psycopg import Connection, Notify
 from psycopg.rows import tuple_row
 from psycopg.errors import UndefinedTable
@@ -301,7 +301,7 @@ def test_autocommit_unknown(conn):
 
 def test_get_encoding(conn):
     (enc,) = conn.cursor().execute("show client_encoding").fetchone()
-    assert conn.client_encoding == encodings.pg2py(enc)
+    assert conn.client_encoding == pg2pyenc(enc)
 
 
 @pytest.mark.parametrize(
index 06c08de394ba180eca1f2f18cbc4f5da00cc4910..4ae40fe63bbdefd30c3e48f8ed968b8e5357e54f 100644 (file)
@@ -6,11 +6,11 @@ import logging
 import weakref
 
 import psycopg
-from psycopg import encodings
 from psycopg import AsyncConnection, Notify
 from psycopg.rows import tuple_row
 from psycopg.errors import UndefinedTable
 from psycopg.conninfo import conninfo_to_dict, make_conninfo
+from psycopg._encodings import pg2pyenc
 
 from .utils import gc_collect
 from .test_cursor import my_row_factory
@@ -314,7 +314,7 @@ async def test_get_encoding(aconn):
     cur = aconn.cursor()
     await cur.execute("show client_encoding")
     (enc,) = await cur.fetchone()
-    assert aconn.client_encoding == encodings.pg2py(enc)
+    assert aconn.client_encoding == pg2pyenc(enc)
 
 
 @pytest.mark.parametrize(
index a4811ac40d6394aa6c91dda4a1e140997560edce..4bbaf68bdcf6762ebe910fff435733ce823376d6 100644 (file)
@@ -2,7 +2,7 @@ import codecs
 import pytest
 
 import psycopg
-from psycopg import encodings
+from psycopg import _encodings as encodings
 
 
 def test_names_normalised():
@@ -22,7 +22,7 @@ def test_names_normalised():
     ],
 )
 def test_py2pg(pyenc, pgenc):
-    assert encodings.py2pg(pyenc) == pgenc.encode()
+    assert encodings.py2pgenc(pyenc) == pgenc.encode()
 
 
 @pytest.mark.parametrize(
@@ -34,10 +34,10 @@ def test_py2pg(pyenc, pgenc):
     ],
 )
 def test_pg2py(pyenc, pgenc):
-    assert encodings.pg2py(pgenc.encode()) == pyenc
+    assert encodings.pg2pyenc(pgenc.encode()) == pyenc
 
 
 @pytest.mark.parametrize("pgenc", ["MULE_INTERNAL", "EUC_TW"])
 def test_pg2py_missing(pgenc):
     with pytest.raises(psycopg.NotSupportedError):
-        encodings.pg2py(pgenc.encode())
+        encodings.pg2pyenc(pgenc.encode())