Your IP : 216.73.216.85


Current Path : /opt/alt/python33/lib/python3.3/site-packages/wheel/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib/python3.3/site-packages/wheel/__pycache__/util.cpython-33.pyc

�
�/6RYc@s�dZddlZddlZddlZddlZddlZddddddgZd	d�Zd
d�Zdd�Z	dd�Z
d
d�Zyedd�Z
Wnek
r�dd�Z
YnXy edd�Zdd�ZWn*ek
rdd�Zdd�ZYnXGdd�de�Zejdkr�ddlZedddddd�Zd d!�Zd"d#�Zd$d%�Znd&d#�Zd'd%�Zd(d�ZdS()uUtility functions.iNuurlsafe_b64encodeuurlsafe_b64decodeuutf8uto_jsonu	from_jsonumatches_requirementcCstj|�jtd��S(u!urlsafe_b64encode without paddingu=(ubase64uurlsafe_b64encodeurstripubinary(udata((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuurlsafe_b64encodescCs)ddt|�d@}tj||�S(u!urlsafe_b64decode without paddings=ii(ulenubase64uurlsafe_b64decode(udataupad((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuurlsafe_b64decodescCstj|dd�S(uConvert given data to JSON.u	sort_keysT(ujsonudumpsuTrue(uo((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuto_jsonscCs
tj|�S(uDecode a JSON payload.(ujsonuloads(uj((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyu	from_jsonscCsItjddkr"i}d}nidd6}d}t||||�S(Niiubuunewline(usysuversion_infouopen(unameumodeunlubin((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuopen_for_csv s	
uopen_for_csvcCs t|t�r|jd�S|S(uUtf-8 encode data.uutf-8(u
isinstanceuunicodeuencode(udata((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuutf8,s
cCs t|t�r|jd�S|S(uUtf-8 encode data.uutf-8(u
isinstanceustruencode(udata((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuutf82s
cCs|S(N((us((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyunative=sunativecCs t|t�r|jd�S|S(Nuascii(u
isinstanceuunicodeuencode(us((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyubinary?s
ubinarycCs t|t�r|jd�S|S(Nuascii(u
isinstanceubytesudecode(us((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyunativeDs
cCs t|t�r|jd�SdS(Nuascii(u
isinstanceustruencode(us((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyubinaryHscBsG|EeZdZddd�Zdd�Zdd�Zdd	�Zd
S(uHashingFileusha256cCs1||_||_tj|�|_d|_dS(Ni(ufduhashtypeuhashlibunewuhashulength(uselfufduhashtype((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyu__init__Ms		uHashingFile.__init__cCs9|jj|�|jt|�7_|jj|�dS(N(uhashuupdateulengthulenufduwrite(uselfudata((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuwriteRsuHashingFile.writecCs|jj�dS(N(ufduclose(uself((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyucloseVsuHashingFile.closecCsF|jdkr|jj�S|jj�}|jdtt|��S(Numd5u=(uhashtypeuhashu	hexdigestudigestunativeuurlsafe_b64encode(uselfudigest((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyudigestXs
uHashingFile.digestN(u__name__u
__module__u__qualname__u__init__uwriteucloseudigest(u
__locals__((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuHashingFileLsuHashingFileuwin32u
CSIDL_APPDATAiuCSIDL_LOCAL_APPDATAiuCSIDL_COMMON_APPDATAi#cCsEd}tjtjj�}tjjjdt|d||�|jS(Ni(	uctypesucreate_unicode_bufferuwintypesuMAX_PATHuwindllushell32uSHGetFolderPathWucsidluvalue(unameuSHGFP_TYPE_CURRENTubuf((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuget_pathds#uget_pathcGsGtd�}tjj||�}tjj|�sCtj|�n|S(NuCSIDL_LOCAL_APPDATA(uget_pathuosupathujoinuisdirumakedirs(uresourceuappdataupath((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyusave_config_pathjs
usave_config_pathcgs\ddg}xI|D]A}t|�}tjj||�}tjj|�r|VqqWdS(NuCSIDL_LOCAL_APPDATAuCSIDL_COMMON_APPDATA(uget_pathuosupathujoinuexists(uresourceuidsuidubaseupath((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuload_config_pathsps
uload_config_pathscGsddl}|jj|�S(Ni(udirspec.basedirubasedirusave_config_path(uresourceudirspec((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyusave_config_pathxscGsddl}|jj|�S(Ni(udirspec.basedirubasediruload_config_paths(uresourceudirspec((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyuload_config_paths{scCs�yddlm}m}Wntk
r:td��YnX|j|�}g}xZ|D]R}|j}|d|jd�d|jd��}||krW|j|�qWqWW|S(u�List of wheels matching a requirement.

    :param req: The requirement to satisfy
    :param wheels: List of wheels to search.
    i(uDistributionuRequirementu-Cannot use requirements without pkg_resourcesuproject_nameunameuversionuver(	u
pkg_resourcesuDistributionuRequirementuImportErroruRuntimeErroruparseuparsed_filenameugroupuappend(urequwheelsuDistributionuRequirementuselecteduwfufudist((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyumatches_requirements

	'(u__doc__usysuosubase64ujsonuhashlibu__all__uurlsafe_b64encodeuurlsafe_b64decodeuto_jsonu	from_jsonuopen_for_csvuunicodeuutf8u	NameErrorunativeubinaryuobjectuHashingFileuplatformuctypes.wintypesuctypesudictucsidluget_pathusave_config_pathuload_config_pathsumatches_requirement(((u;/opt/alt/python33/lib/python3.3/site-packages/wheel/util.pyu<module>sF