From 029fda7f2d182af71ebc48aef191aa9114927f28 Mon Sep 17 00:00:00 2001 From: Denis Laxalde Date: Tue, 11 Mar 2025 09:20:03 +0100 Subject: [PATCH] Add _NetworkAddressTypeMixin --- lib/sqlalchemy/dialects/postgresql/types.py | 30 +++++++-------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/lib/sqlalchemy/dialects/postgresql/types.py b/lib/sqlalchemy/dialects/postgresql/types.py index bcf8f311ae..1aed2bf472 100644 --- a/lib/sqlalchemy/dialects/postgresql/types.py +++ b/lib/sqlalchemy/dialects/postgresql/types.py @@ -52,50 +52,40 @@ class BYTEA(sqltypes.LargeBinary): __visit_name__ = "BYTEA" -class INET(sqltypes.TypeEngine[str]): - __visit_name__ = "INET" +class _NetworkAddressTypeMixin: def coerce_compared_value( self, op: Optional[OperatorType], value: Any ) -> TypeEngine[Any]: + if TYPE_CHECKING: + assert isinstance(self, TypeEngine) return self +class INET(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]): + __visit_name__ = "INET" + + PGInet = INET -class CIDR(sqltypes.TypeEngine[str]): +class CIDR(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]): __visit_name__ = "CIDR" - def coerce_compared_value( - self, op: Optional[OperatorType], value: Any - ) -> TypeEngine[Any]: - return self - PGCidr = CIDR -class MACADDR(sqltypes.TypeEngine[str]): +class MACADDR(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]): __visit_name__ = "MACADDR" - def coerce_compared_value( - self, op: Optional[OperatorType], value: Any - ) -> TypeEngine[Any]: - return self - PGMacAddr = MACADDR -class MACADDR8(sqltypes.TypeEngine[str]): +class MACADDR8(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]): __visit_name__ = "MACADDR8" - def coerce_compared_value( - self, op: Optional[OperatorType], value: Any - ) -> TypeEngine[Any]: - return self - PGMacAddr8 = MACADDR8 -- 2.47.2