???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3
ft`                 @   s   d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
mZ d dlmZ ejdZG dd dejZd	d
 Zdd Zdd ZdS )    )absolute_import)unicode_literalsN)
basestring)_dnfc                   s0   e Zd Z fddZd	ddZd
ddZ  ZS )Sackc                s   t t| j|| d S )N)superr   __init__)selfargskwargs)	__class__ /usr/lib/python3.6/sack.pyr	   %   s    zSack.__init__Nr   c             C   s8   |r
|| _ || _|d k	r4|| _|dkr4tjtd d S )NFznallow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands)installonlyinstallonly_limitallow_vendor_changeloggerZwarningr   )r
   r   r   r   r   r   r   
_configure(   s    zSack._configurec             C   s   t jj| |S )z'Factory function returning a DNF Query.)r   queryZQuery)r
   flagsr   r   r   r   1   s    z
Sack.query)Nr   N)r   )__name__
__module____qualname__r	   r   r   __classcell__r   r   )r   r   r   "   s   
	r   c          	   C   sT   | j j}tjj| ttjj| | j jd || j j	t
jj| j jtjj| j jdkdS )Narch	   )ZpkgclsZ
pkginitvalr   cachedirZrootdirZlogfileZlogdebug)Zconfr   r   utilZ
ensure_dirr   packageZPackageZsubstitutionsZinstallrootospathjoinZlogdirconstZ
LOG_HAWKEYZlogfilelevel)baser   r   r   r   _build_sack7   s    

r%   c             C   s2   t | }y|jdd W n tk
r,   Y nX |S )NF)Zbuild_cache)r%   Zload_system_repoIOError)r$   Zsackr   r   r   _rpmdb_sackB   s    r'   c             C   s   t | S )z
    Returns a new instance of sack containing only installed packages (@System repo)
    Useful to get list of the installed RPMs after transaction.
    )r'   )r$   r   r   r   
rpmdb_sackM   s    r(   )Z
__future__r   r   Zdnf.utilr   Zdnf.packageZ	dnf.queryZloggingZhawkeyr    Z
dnf.pycompr   Zdnf.i18nr   Z	getLoggerr   r   r%   r'   r(   r   r   r   r   <module>   s   
