U
    ð¤ùd§  ã                   @   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)ÚOptionalc                       s6   e Zd ZdZdeee ee d 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.
    N)ÚnameÚversionÚplatformÚreturnc                    sL   t ƒ  | |||¡}| ¡  ¡ D ](\}}|d k	rt|tƒstd |¡ƒ‚q|S )NzEWrong type for DriverInfo {} option, value must be an instance of str)ÚsuperÚ__new__Ú_asdictÚitemsÚ
isinstanceÚstrÚ	TypeErrorÚformat)Úclsr   r   r   ÚselfÚkeyÚvalue©Ú	__class__© ú7/tmp/pip-unpacked-wheel-oblwsawz/pymongo/driver_info.pyr
      s    ÿÿzDriverInfo.__new__)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r
   Ú__classcell__r   r   r   r   r      s   
   ÿ  þr   r   r   r   N)r   Úcollectionsr   Útypingr   r   r   r   r   r   Ú<module>   s   