o
    i	                     @   s   d Z ddlmZ ddlmZmZ ddlZddlmZm	Z	 ddl
mZ G dd deZd	d
 Z		ddee dee dee fddZeddddd ZedkrYed e  dS dS )uN   
token 验证
Created on 2023/12/06
@author: Monday
@group : waditu
@contact:
    )Optional)	get_token	set_tokenN)HTTPAdapterRetry)consc                   @   s   e Zd ZdS )PermissionErrorN)__name__
__module____qualname__ r   r   L/opt/alphahud/venv/lib/python3.10/site-packages/tushare/util/verify_token.pyr      s    r   c                    s    fdd}|S )Nc                    s    fdd} j |_ |S )Nc               
      s   t  }|r@z
t|  }W n ty" } ztd| d }~ww |ddkr1| i |S td|j  t|d  ttj	)Nu   验证token出错，messagesuccessmsg)
r   verify_tokenjson	Exceptionr   getprinttextctTOKEN_ERR_MSG)argskwargstokenrerr)event_detail
event_namefuncr   r   wrapper   s   
z6require_permission.<locals>.decorator.<locals>.wrapper)__doc__)r    r!   r   r   )r    r   	decorator   s   z%require_permission.<locals>.decoratorr   )r   r   r$   r   r#   r   require_permission   s   r%   stringr   r   r   c           	      C   sh   t  }tddd}|dt|d |dt|d ddd}tj}| ||d	}|j|||d
}|S )N      )totalbackoff_factorzhttp://)max_retrieszhttps://zapplication/json)acceptzContent-Type)
user_tokenr   r   )headersr   )requestsSessionr   mountr   r   verify_token_urlpost)	r   r   r   sessionretriesr.   urldataresponser   r   r   r   2   s   r   xxx)r   r   c                   C   s   t d d S )Nssss)r   r   r   r   r   admin_only_functionF   s   r;   __main__	asdasdasa)Nr&   r&   )r"   typingr   tushare.util.upassr   r   r/   requests.adaptersr   r   tushare.stockr   r   r   r   r%   strr   r;   r	   r   r   r   r   <module>   s&   



