
    &g1
                    F    S r SSKJr  SSKJrJr   " S S5      r\" 5       rg)zTools for working with read concerns.

.. seealso:: This module is compatible with both the synchronous and asynchronous PyMongo APIs.
    )annotations)AnyOptionalc                  v    \ rS rSrSrSSS jjr\SS j5       r\SS j5       r\SS j5       r	SS jr
SS	 jrS
rg)ReadConcern   ar  ReadConcern

: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

Nc                n    Ub  [        U[        5      (       a  Xl        g [        S[	        U5       35      e)Nz$level must be a string or None, not )
isinstancestr_ReadConcern__level	TypeErrortype)selflevels     YC:\Suresh\moveshuttle\MDcreated\moveengine\venv\Lib\site-packages\pymongo/read_concern.py__init__ReadConcern.__init__%   s/    =Juc22 LB4;-PQQ    c                    U R                   $ )zThe read concern level.)r   r   s    r   r   ReadConcern.level+   s     ||r   c                J    U R                   SL =(       d    U R                   S:H  $ )zTReturn ``True`` if this read concern is compatible with
old wire protocol versions.
Nlocalr   r   s    r   ok_for_legacyReadConcern.ok_for_legacy0   s!    
 zzT!:TZZ7%::r   c                J    0 nU R                   (       a  U R                  US'   U$ )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   )r   docs     r   documentReadConcern.document7   s"     <<::CL
r   c                j    [        U[        5      (       a  U R                  UR                  :H  $ [        $ N)r
   r   r   NotImplemented)r   others     r   __eq__ReadConcern.__eq__D   s(    e[))==ENN22r   c                D    U R                   (       a  SU R                   -  $ g)NzReadConcern(%s)zReadConcern()r   r   s    r   __repr__ReadConcern.__repr__I   s    ::$tzz11r   )__levelr"   )r   Optional[str]returnNone)r,   r+   )r,   bool)r,   zdict[str, Any])r$   r   r,   r.   )r,   r   )__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r   r%   r(   __static_attributes__ r   r   r   r      sS    
R   ; ; 
 

r   r   N)r3   
__future__r   typingr   r   r   DEFAULT_READ_CONCERNr6   r   r   <module>r:      s'    #  4 4n #} r   