3
‘¨j-
  ã               @   sŽ   d Z ddlZddlZddlZddlZddlmZ ddlmZm	Z	 ddl
mZmZ dZeeƒjdƒZdZd	Zd
Zddœdd„ZedkrŠeƒ  dS )z@Log in to choke77i.com and save the returned auth token locally.é    N)ÚPath)Ú	HTTPErrorÚURLError)ÚRequestÚurlopenz+https://player-api.c77api.com/v1/auth/loginzchoke_token.txtzhttps://choke77i.comZappa1Z12345678)Úreturnc        
   &   C   sü  t jttddœƒjdƒ} tt| ddtt› d�ddœdd	�}y&t|d
d��}t j	|ƒ}W d Q R X W nf t
k
r” } ztd|j› �ƒ|‚W Y d d }~X n4 tk
rÆ } ztd|j› �ƒ|‚W Y d d }~X nX |jdƒ}t|tƒ sä| rìtdƒ‚tjjddd� tjdtj› d�tjdd�\}}yŽtj|tjtjB tjB ƒ y"tdƒjdƒj }tj!|d|ƒ W n t"k
�rp   Y nX tj#|ddd��}	|	j$|d ƒ W d Q R X tj%|tƒ W n> t&k
�rè   ytj'|ƒ W n t(k
�rà   Y nX ‚ Y nX t)dt› �ƒ d S )NT)ZusernameZpasswordZ
rememberMezutf-8zapplication/jsonz/loginzuMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36)zContent-TypeZAcceptZOriginZRefererz
User-AgentZPOST)ÚdataZheadersÚmethodé   )ZtimeoutuC   à¹€à¸‚à¹‰à¸²à¸ªà¸¹à¹ˆà¸£à¸°à¸šà¸šà¹„à¸¡à¹ˆà¸ªà¸³à¹€à¸£à¹‡à¸ˆ: HTTP u=   à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•à¹ˆà¸­ API à¹„à¸¡à¹ˆà¸ªà¸³à¹€à¸£à¹‡à¸ˆ: Útokenu3   à¸�à¸²à¸£à¸•à¸­à¸šà¸�à¸¥à¸±à¸šà¹„à¸¡à¹ˆà¸¡à¸µ token)ÚparentsÚexist_okÚ.)ÚprefixÚdirÚtextZgrpzwww-dataé   Úw)ÚencodingÚ
u'   à¸šà¸±à¸™à¸—à¸¶à¸� token à¹�à¸¥à¹‰à¸§: éÿÿÿÿ)*ÚjsonÚdumpsÚUSERNAMEÚPASSWORDÚencoder   ÚAPI_URLÚSITE_URLr   Úloadr   Ú
SystemExitÚcoder   ÚreasonÚgetÚ
isinstanceÚstrÚOUTPUT_FILEÚparentÚmkdirÚtempfileZmkstempÚnameÚosÚfchmodÚstatÚS_IRUSRÚS_IWUSRÚS_IRGRPÚ
__import__ZgetgrnamZgr_gidÚfchownÚKeyErrorÚfdopenÚwriteÚreplaceÚ	ExceptionÚunlinkÚFileNotFoundErrorÚprint)
ZpayloadZrequestZresponseÚresultÚexcr   ÚfdZtemporary_nameZwww_data_gidÚfile© r>   ú"/var/www/html/api/jwt/get_token.pyÚmain   sT    "$
r@   Ú__main__)Ú__doc__r   r*   r,   r(   Zpathlibr   Zurllib.errorr   r   Zurllib.requestr   r   r   Ú__file__Z	with_namer%   r   r   r   r@   Ú__name__r>   r>   r>   r?   Ú<module>   s   ;