509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
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   
