Файловый менеджер - Редактировать - /home/digitalm/venv/lib/python3.7/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-37.pyc
Назад
B �5�g� � @ s� d dl mZ d dlZd dlZd dlZd dlZyd dlZW n ek rP dZY nX ejd dk �rnd dl m Z e fZeZ d dlmZ d dlZd dlZd dlmZmZmZmZmZ d dlmZmZmZmZm Z m!Z!m"Z" dd � Zd dl#Z#d d l#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, e�r"d dl#m-Z- d dl.Z.d dl/Z/d dl0Z1d dl2m2Z2 d dl3Z3e4Z4d d l5m6Z7 d dl5m8Z9 �nd dl:m Z e;fZe;Z d dl:m<Z d dlZd dlZd dl=mZmZmZmZmZmZmZm"Z" d dl>m%Z%mZm$Z$mZm Z m(Z(m)Z)m*Z*m+Z+m,Z, e�r d dl>m-Z- d dl?m'Z'm&Z&m!Z! d dl@mAZ. d dl>mBZ# d dlCmAZ/ d dl1Z1d dlDm2Z2 d dlEmFZ3 eGZ4d dl5m9Z9 e7Z7yd dlmHZHmIZI W n8 ek �r� G dd� deJ�ZId`dd�ZKdd� ZHY nX yd dlmLZM W n& ek �r� G dd� deN�ZMY nX yd dlmOZO W n, ek �r8 ejPejQB dfd d!�ZOY nX d d"lRmSZT eUeTd#��rXeTZSn,d d$lRmVZW G d%d&� d&eW�ZVG d'd(� d(eT�ZSyd d)lXmYZY W n ek �r� d*d+� ZYY nX d dlZZZye[Z[W n* e\k �r� d d,l]m^Z^ d-d.� Z[Y nX yej_Z_ej`Z`W nH eak �rH e�b� �pd/Zcecd0k�r0d1Zdnd2Zdd3d4� Z_d5d6� Z`Y nX yd d7lemfZf W n@ ek �r� d d8lgmhZhmiZi e�jd9�Zkd:d;� Zld<d=� ZfY nX yd d>lmmnZn W n" ek �r� d d>lomnZn Y nX ejdd?� d@k �r�e2� jpZpnd dAlmmpZp yd dBlqmrZr W nd ek �rn d dClqmsZs yd dDltmuZv W n ek �rX dadFdG�ZvY nX G dHdI� dIes�ZrY nX yd dJlwmxZx W n ek �r� dbdKdL�ZxY nX yd dMlqmyZy W n� ek �r< yd dNlzm{Z| W n" ek �r� d dNl}m{Z| Y nX yd dOl~mZm�Z�m�Z� W n ek �r& Y nX G dPdQ� dQe��ZyY nX yd dRl�m�Z�m�Z� W nv ek �r� e�jdSej��Z�dTdU� Z�G dVdW� dWe��Z�dcdXdY�Z�G dZd[� d[e��Z�G d\d]� d]e��Z�G d^d_� d_eN�Z�Y nX dS )d� )�absolute_importN� )�StringIO)�FileType)�urlparse� urlunparse�urljoin�urlsplit� urlunsplit)�urlretrieve�quote�unquote�url2pathname�pathname2url�ContentTooShortError� splittypec C s t | t�r| �d�} t| �S )Nzutf-8)� isinstance�unicode�encode�_quote)�s� r �;/tmp/pip-install-251nq386/pip/pip/_vendor/distlib/compat.pyr s r ) �Request�urlopen�URLError� HTTPError�HTTPBasicAuthHandler�HTTPPasswordMgr�HTTPHandler�HTTPRedirectHandler�build_opener)�HTTPSHandler)� HTMLParser)�ifilter)�ifilterfalse)� TextIOWrapper)r r r r r r r r ) r r r r r r r r r r! )r r r )�filterfalse)�match_hostname�CertificateErrorc @ s e Zd ZdS )r) N)�__name__� __module__�__qualname__r r r r r) ] s r) � c C s� g }| sdS | � d�}|d |dd� }}|�d�}||krNtdt| � ��|sb| �� |�� kS |dkrv|�d� n>|�d �s�|�d �r�|�t�|�� n|�t�|�� d d�� x|D ]}|�t�|�� q�W t� dd �|� d tj�} | � |�S )zpMatching according to RFC 6125, section 6.4.3 http://tools.ietf.org/html/rfc6125#section-6.4.3 F�.r r- N�*z,too many wildcards in certificate DNS name: z[^.]+zxn--z\*z[^.]*z\Az\.z\Z)�split�countr) �repr�lower�append� startswith�re�escape�replace�compile�join� IGNORECASE�match) �dn�hostname� max_wildcards�pats�parts�leftmost� remainder� wildcards�frag�patr r r �_dnsname_match` s( rG c C s� | st d��g }| �dd�}x0|D ](\}}|dkr"t||�r@dS |�|� q"W |s�xF| �dd�D ]6}x0|D ](\}}|dkrjt||�r�dS |�|� qjW q`W t|�dkr�td |d �tt|��f ��n*t|�dkr�td||d f ��ntd ��dS )a= Verify that *cert* (in decoded format as returned by SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 rules are followed, but IP addresses are not accepted for *hostname*. CertificateError is raised on failure. On success, the function returns nothing. ztempty or no certificate, match_hostname needs a SSL socket or SSL context with either CERT_OPTIONAL or CERT_REQUIRED�subjectAltNamer �DNSN�subject� commonNamer- z&hostname %r doesn't match either of %sz, zhostname %r doesn't match %rr z=no appropriate commonName or subjectAltName fields were found) � ValueError�getrG r4 �lenr) r: �mapr2 )�certr>