File: //lib/python3.6/site-packages/dnf-plugins/__pycache__/download.cpython-36.pyc
3
gt`*0 @ s d dl mZ d dl mZ d dlmZmZ d dlmZ d dlZd dl Zd dl
Zd dlZd dlZd dl
Zd dlZd dlZd dlZd dlZejjG dd dejjZdS ) )absolute_import)unicode_literals)_logger)OptionParserNc s e Zd ZdgZedZ fddZedd Zdd Z d d
Z
dd Zd
d Zdd Z
dd Zdd Zd ddZd!ddZedd Zdd Zdd Z ZS )"DownloadCommandZdownloadz%Download package to current directoryc s t t| j| d | _d | _d S )N)superr __init__optsparser)selfcli) __class__ /usr/lib/python3.6/download.pyr + s zDownloadCommand.__init__c C s | j ddtdd | j ddtdd | j d dtd
d | j ddtdd | j d
ddg tjdtdd | j ddtdd | j ddtdd | j ddddtdd | j ddddd d!gg td"d# d S )$Npackages+zpackages to download)nargshelpz--source
store_truezdownload the src.rpm instead)actionr z--debuginfoz'download the -debuginfo package insteadz
--debugsourcez)download the -debugsource package insteadz--archz
--archlistarchesz[arch]z5limit the query to packages of given architectures.)destdefaultr metavarr z --resolvez(resolve and download needed dependenciesz --alldepsz^when running with --resolve, download all dependencies (do not exclude already installed ones)z--urlz--urlsurlzJprint list of urls where the rpms can be downloaded instead of downloading)r r r z--urlprotocolsappendhttphttpsZrsyncftpz4when running with --url, limit to specific protocols)r choicesr r )add_argumentr r Z_SplitCallback)r r r r
set_argparser0 s*
zDownloadCommand.set_argparserc C s | j j}d|_d|_| jjr*| jjr*d|_| jjr>| j j
j | jjsN| jj
rZ| j j
j | jjrr| jj| j j_ntjjtj | j j_d S )NTF)r
demandsZsack_activationZavailable_reposr
resolveZalldepsZload_system_reposourcebaseZreposZenable_source_repos debuginfodebugsourceZenable_debug_reposdestdirconfdnfi18nucdosgetcwd)r r# r r r configureK s zDownloadCommand.configurec C s | j j r.| j j r.| j j r.| j| j j}nXg }| j jrN|j| j| j j | j jrj|j| j| j j | j jr|j| j | j j | j j
rxd|D ]\}|jtj
kr|j| j jd}|rt| qtd|j }| jjjrtjj|tj| qW dS | j| dS )zExecute the util action here.)schemesz$Failed to get mirror for package: %sN)r
r% r' r( _get_pkg_objs_rpmsr extend_get_pkg_objs_source_get_pkg_objs_debuginfo_get_pkg_objs_debugsourcer repoidhawkeyCMDLINE_REPO_NAMEZremote_locationZurlprotocolsprintr namer&