Current File : //proc/self/root/kunden/lib/python3.9/site-packages/dnf/__pycache__/util.cpython-39.opt-1.pyc |
a
�g�g�a � @ s� d dl mZ d dl mZ d dl mZ ddlmZmZ d dlmZm Z d dl
Z
d dlZd dlZd dl
Zd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZe� d�Z!e
�"� j#d k�re
�"� j#ndZ$e$�%� Z&d
d� Z'dbdd
�Z(dcdd�Z)dd� Z*dd� Z+dd� Z,dd� Z-dd� Z.dd� Z/dd� Z0dd � Z1d!d"� Z2d#d$� Z3d%d&� Z4d'd(� Z5d)d*� Z6d+d,� Z7d-d.� Z8d/d0� Z9d1d2� Z:d3d4� Z;d5d6� Z<d7d8� Z=d9d:� Z>d;d<� Z?d=d>� Z@d?d@� ZAdAdB� ZBdCdD� ZCdddFdG�ZDdHdIejEfdJdK�ZFdLdM� ZGdNdO� ZHdPdQ� ZIdRdS� ZJG dTdU� dUeK�ZLG dVdW� dWeM�ZNG dXdY� dYeO�ZPdZd[� ZQd\d]� ZRd^d_� ZSG d`da� da�ZTdS )e� )�print_function)�absolute_import)�unicode_literals� )�PY3�
basestring)�_�ucdN�dnfZyumc C s� t | dg � t | dg � t | dg � t� }|D ]�}||v r<q.|�|� tjj�|�d }|�d�rp| j�|� q.|r�|dv r�| j�|� q.|� d�r�| j
�|dd � � q.| j�|� q.d S )
a�
Categorize :param values list into packages, groups and filenames
:param namespace: argparse.Namespace, where specs will be stored
:param values: list of specs, whether packages ('foo') or groups/modules ('@bar')
or filenames ('*.rmp', 'http://*', ...)
To access packages use: specs.pkg_specs,
to access groups use: specs.grp_specs,
to access filenames use: specs.filenames
� filenames� grp_specs� pkg_specsr z.rpm)�http�ftp�file�https�@r N)�setattr�set�addr
�pycomp�urlparse�endswithr �append�
startswithr r
)� namespace�valuesZtmp_set�valueZschemes� r �,/usr/lib/python3.9/site-packages/dnf/util.py�_parse_specs9 s
r c
C s� |d u rt j�� }t j�| ||�}t|jg�}|�d|� |�� g}zt jj
�t j�|�d� W nD t
y� } z,|jr�tt|���t�t|�� W Y d }~n
d }~0 0 |jS )Nr T)r
�callbackZNullDownloadProgress�repoZRemoteRPMPayload�sumZ
download_size�startZ_librepo_target�libdnfZ
PackageTargetZdownloadPackagesZVectorPPackageTarget�RuntimeError�strict�IOError�str�logger�errorZ
local_path)�url�confZprogressZploadZest_remote_size�targets�er r r �_urlopen_progressY s
$r0 �w+bc
K s� t rd|vr|�dd� tj|fi |��}z<|rD|j�| |�� � n tjj �
|rV|jnd| |�� � W n0 ty� } zt
t|���W Y d}~n
d}~0 0 |�d� |S )z|
Open the specified absolute url, return a file object
which respects proxy setting even for non-repo downloads
�b�encodingzutf-8Nr )r �
setdefault�tempfileZNamedTemporaryFileZ_repoZdownloadUrl�filenor% r"