o
    “S"ji  ã                	   @   sj   d dl Z d dlZd dlZd dlZd dlZd dlmZ defdd„Zdd„ Z	dde
d	e
ded
efdd„ZdS )é    N)ÚurlparseÚheadersc                 C   sT   d}t | ƒD ]}| ¡  d¡r||› d| | › d�7 }q| d¡}t |¡ ¡ }|S )NÚ zx-skyottz: Ú
úutf-8)ÚsortedÚlowerÚ
startswithÚencodeÚhashlibÚmd5Ú	hexdigest)r   Úfinal_headersÚkeyÚbytes_headersÚmd5_headers© r   ú3/home/o11pro/scripts/helpers/signature_generator.pyÚget_x_skyott_md5   s   €
r   c                 C   s4   t | tƒrt | ¡ ¡ }n|  ¡ }t |¡ ¡ }|S ©N)Ú
isinstanceÚdictÚjsonÚdumpsr
   r   r   r   )ÚpayloadÚpayload_bytesÚpayload_md5r   r   r   Úget_payload_md5   s   r   Úrequest_typeÚurlÚ	timestampc              
   C   sˆ   |st t ¡ ƒ}tddƒ}t|ƒj}t|ƒ}t|ƒ}| › d|› d|› d|› d|› d�
}	t ||	 	d¡t
j¡ ¡ }
t |
¡ d¡}||fS )NÚ(He97trFdwMSKZBbnJGjzyPXN3Qgu2qRvh4spkmcCr   r   z

NOWOTT-ANDROID-v1
1.0
)ÚintÚtimeÚ	bytearrayr   Úpathr   r   ÚhmacÚnewr
   r   Úsha1ÚdigestÚbase64Ú	b64encodeÚdecode)r   r   r   r   r    Úsignkeyr%   Úheaders_hashÚpayload_hashÚhttp_request_strÚbytes_signatureÚfinal_signaturer   r   r   Úget_signature   s   

"r3   r   )r#   r&   r   r   r*   Úurllib.parser   r   r   r   Ústrr"   r3   r   r   r   r   Ú<module>   s     	