3
OÉ6b§  ã               @   s<   d Z ddlmZ ddlmZ G dd„ deddddgƒƒZd	S )
zCAdvanced options for MongoDB drivers implemented on top of PyMongo.é    )Ú
namedtuple)Ústring_typec                   s"   e Zd ZdZd‡ fdd„	Z‡  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.
    Nc                sZ   t t| ƒj| |||ƒ}x>|jƒ jƒ D ].\}}|d k	r$t|tƒ r$td|tjf ƒ‚q$W |S )NzDWrong type for DriverInfo %s option, value must be an instance of %s)	Úsuperr   Ú__new__Ú_asdictÚitemsÚ
isinstancer   Ú	TypeErrorÚ__name__)ÚclsÚnameÚversionÚplatformÚselfÚvalue)Ú	__class__© úR/var/www/html/sandeepIITI/myenv/lib/python3.6/site-packages/pymongo/driver_info.pyr      s    zDriverInfo.__new__)NNN)r   Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__r   r   )r   r   r      s   r   r   r   r   N)r   Úcollectionsr   Zbson.py3compatr   r   r   r   r   r   Ú<module>   s   