
    h              	       H    d Z ddlmZ ddlmZ  G d d edg d            Zy)zCAdvanced options for MongoDB drivers implemented on top of PyMongo.    )
namedtuple)string_typec                   $     e Zd ZdZd fd	Z xZS )
DriverInfoa  Info about a driver wrapping PyMongo.

    The MongoDB server logs PyMongo's name, version, and platform whenever
    PyMongo establishes a connection. A driver implemented on top of PyMongo
    can add its own info to this log message. Initialize with three strings
    like 'MyDriver', '1.2.3', 'some platform info'. Any of these strings may be
    None to accept PyMongo's default.
    c                     t         t        |   | |||      }|j                         j	                         D ]7  \  }}|	t        |t              rt        d|dt        j                         |S )NzWrong type for DriverInfo z& option, value must be an instance of )	superr   __new___asdictitems
isinstancer   	TypeError__name__)clsnameversionplatformselfvalue	__class__s         V/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/pymongo/driver_info.pyr	   zDriverInfo.__new__   st    Z-c4(K<<>//1 	AKD% E;)G$(+*>*>!@ A A	A     )NNN)r   
__module____qualname____doc__r	   __classcell__)r   s   @r   r   r      s     r   r   )r   r   r   N)r   collectionsr   bson.py3compatr   r    r   r   <module>r      s%    J " &L*IJ r   