U
    ¶[ÖeÖ  ã                   @   s>   d dl Z d dlZd dlmZmZ eeeje edœdd„ZdS )é    N)ÚquoteÚ	urlencode)Ú	type_nameÚaccount_nameÚissuerÚreturnc                 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 )NÚdigitsÚsecretÚ	algorithmr   z%s:%s)ÚtypeÚlabelÚ
parametersz%otpauth://{type}/{label}?{parameters})Ú_lengthÚbase64Ú	b32encodeÚ_keyÚ
_algorithmÚnameÚupperÚappendÚextendr   r   Úformat)Zhotpr   r   r   Zextra_parametersr   Zuriparts© r   úp/var/www/html/services/stratfitenv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/utils.pyÚ_generate_uri   s    ý
ÿù	r   )r   ÚtypingÚurllib.parser   r   ÚstrÚOptionalr   r   r   r   r   Ú<module>   s   ú