U
    çe¨]º  ã                   @   s8   d dl mZmZmZ d dlZd dlmZmZ dd„ ZdS )é    )Úabsolute_importÚdivisionÚprint_functionN)ÚquoteÚ	urlencodec                 C   s€   d| j fdt | j¡fd| jj ¡ fg}|d k	r>| d|f¡ | |¡ ||rbdt	|ƒt	|ƒf nt	|ƒt
|ƒdœ}djf |ŽS )NZdigitsZsecretÚ	algorithmÚissuerz%s:%s)ÚtypeZlabelÚ
parametersz%otpauth://{type}/{label}?{parameters})Z_lengthÚbase64Z	b32encodeZ_keyZ
_algorithmÚnameÚupperÚappendÚextendr   r   Úformat)ZhotpZ	type_nameZaccount_namer   Zextra_parametersr
   Zuriparts© r   úP/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/twofactor/utils.pyÚ_generate_uri   s    ý
ür   )	Z
__future__r   r   r   r   Zsix.moves.urllib.parser   r   r   r   r   r   r   Ú<module>   s   