관리-도구
편집 파일: download.cpython-36.opt-1.pyc
3 �PfO� � @ s^ d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlZd dlZd dl Z d dlZyd dlZdZW n ek r� dZY nX d dlmZ d dlmZ d dlZd dlmZmZ d dlmZ d d lmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d d l(m)Z) d dl*m+Z+ d dl,m-Z- d d l.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z:m;Z; d dl<m=Z=m>Z> d dl?m@Z@mAZA d dlBmCZCmDZD d dlEmFZF d dlGmHZH d dl9mIZI d dlJmKZK d dlLmMZM d dlNmOZO d dlPmQZQ dddd d!d"d#d$d%d&d'd(d)g ZRejSeT�ZUd*d+� ZVG d,d-� d-e@�ZWG d.d/� d/e=�ZXG d0d1� d1eM�ZYG d2d3� d3e>�ZZG d4d5� d5e:j[�Z\dWd6d�Z]ej^d7ej_�Z`ej^d8ej_�Zad9d� Zbd:d� Zcd;d � Zdd<d!� Zed=d"� Zfd>d?� Zgd@d$� ZhdAd%� ZidBdC� ZjdDdE� ZkdFdG� ZldHdI� ZmdXdJd&�ZndYdKd#�ZodLdM� ZpG dNdO� dOeQjq�ZrdZdPd'�ZsdQd)� ZtdRd(� ZudSdT� ZvdUdV� ZwdS )[� )�absolute_importNTF)�parse)�request)�InstallationError�HashMismatch)�PyPI) �splitext�rmtree�format_size�display_path� backup_dir�ask_path_exists�unpack_file�ARCHIVE_EXTENSIONS�consume�call_subprocess)�auto_decode)�check_path_owner)� indent_log)�SETUPTOOLS_SHIM)�libc_ver)�DownloadProgressBar�DownloadProgressSpinner)�write_delete_marker_file)�vcs)�requests�six)�BaseAdapter�HTTPAdapter)�AuthBase� HTTPBasicAuth)�CONTENT_CHUNK_SIZE�Response)�get_netrc_auth)�CaseInsensitiveDict)�urllib3)�CacheControlAdapter)� FileCache)� LockError)� xmlrpc_client�get_file_content�is_url�url_to_path�path_to_url�is_archive_file�unpack_vcs_link�unpack_file_url� is_vcs_url�is_file_url�unpack_http_url� unpack_url�parse_content_disposition�sanitize_content_filenamec C s dt jd�tj� dtj� id�} | d d dkrBtj� | d d<