From: Denis Laxalde Date: Tue, 11 Mar 2025 08:20:03 +0000 (+0100) Subject: Add _NetworkAddressTypeMixin X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=029fda7f2d182af71ebc48aef191aa9114927f28;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Add _NetworkAddressTypeMixin --- 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