Your IP : 3.133.124.80
3
K�Re;� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl m
Z
yddlmZ W n e
k
r� ddlmZ Y nX ddlmZ ddlmZmZmZmZ ddlZddlmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ ddlm%Z% dd l&m'Z' dd
l(m)Z) ddl*m+Z+ ddl,m-Z- dd
l.m/Z/ ej0d�Z1ej0dej2�Z3ej0d�Z4ej0dej2�j5Z6dj7� Z8ddddgZ9dZ:dZ;e;j<ej=dd� ed�Z>dd� Z?dd� Z@dd� ZAdGd d�ZBdHd!d"�ZCdId#d$�ZDdedfd%d�ZEdJd&d'�ZFd(d)� ZGej0d*ej2�ZHeGd+d,� �ZIG d-d.� d.eJ�ZKG d/d0� d0eK�ZLG d1d� de�ZMej0d2�jNZOd3d4� ZPd5d6� ZQd7d8� ZRdKd9d:�ZSd;d<� ZTG d=d>� d>eJ�ZUG d?d@� d@ejV�ZWejXjYfdAdB�ZZeSe:�eZ�ZZdCdD� Z[dEdF� Z\dS )Lz#PyPI and direct package downloading� N)�wraps)� splituser)�six)�urllib�http_client�configparser�map)
�
CHECKOUT_DIST�Distribution�BINARY_DIST�normalize_path�SOURCE_DIST�Environment�find_distributions� safe_name�safe_version�to_filename�Requirement�DEVELOP_DIST�EGG_DIST)�ssl_support)�log)�DistutilsError)� translate)�get_all_headers)�Wheelz^egg=([-A-Za-z0-9_.+!]+)$zhref\s*=\s*['"]?([^'"> ]+)z�<a href="([^"#]+)">([^<]+)</a>
\s+\(<a (?:title="MD5 hash"
\s+)href="[^?]+\?:action=show_md5&digest=([0-9a-f]{32})">md5</a>\)z([-+.a-z0-9]{2,}):z.tar.gz .tar.bz2 .tar .zip .tgz�PackageIndex�distros_for_url�parse_bdist_wininst�interpret_distro_name� z<setuptools/{setuptools.__version__} Python-urllib/{py_major}� )Zpy_major�
setuptoolsc C s2 y
t j| �S tk
r, td| f ��Y nX d S )Nz1Not a URL, existing file, or requirement spec: %r)r �parse�
ValueErrorr )�spec� r&