+\h FdZddlmZddlmZmZGddZeZy)zTools for working with read concerns. .. seealso:: This module is compatible with both the synchronous and asynchronous PyMongo APIs. ) annotations)AnyOptionalc`eZdZdZd d dZed dZed dZed dZddZ ddZ y) ReadConcernaReadConcern :param level: (string) The read concern level specifies the level of isolation for read operations. For example, a read operation using a read concern level of ``majority`` will only return data that has been written to a majority of nodes. If the level is left unspecified, the server default will be used. .. versionadded:: 3.2 Ncd|t|tr||_ytdt |)Nz$level must be a string or None, not ) isinstancestr_ReadConcern__level TypeErrortype)selflevels W/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/pymongo/read_concern.py__init__zReadConcern.__init__%s. =Juc2 DLB4;-PQ Qc|jS)zThe read concern level.)r rs rrzReadConcern.level+s||rc@|jduxs|jdk(S)zdReturn ``True`` if this read concern is compatible with old wire protocol versions. Nlocalrrs r ok_for_legacyzReadConcern.ok_for_legacy0s! zzT!:TZZ7%::rc@i}|jr|j|d<|S)zThe document representation of this read concern. .. note:: :class:`ReadConcern` is immutable. Mutating the value of :attr:`document` does not mutate this :class:`ReadConcern`. r)r r)rdocs rdocumentzReadConcern.document7s" <<::CL rc`t|tr|j|jk(StSN)r rrNotImplemented)rothers r__eq__zReadConcern.__eq__Ds% e[ )==ENN2 2rc:|jrd|jzSy)NzReadConcern(%s)z ReadConcern()rrs r__repr__zReadConcern.__repr__Is ::$tzz1 1rr)r Optional[str]returnNone)r$r#)r$bool)r$zdict[str, Any])rrr$r&)r$r ) __name__ __module__ __qualname____doc__rpropertyrrrr r"rrrrsS R ;;    rrN)r* __future__rtypingrrrDEFAULT_READ_CONCERNr,rrr0s'# 44n#}r