ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3
ft`                 @   s   d dl mZ d dl mZ d dlmZ d dlZd dl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ejdZdZejjedZejjed	ZG d
d deZG dd deZdS )    )absolute_import)unicode_literals)_N)PRIO_DEFAULTdnfz/etc/dnf/aliases.d/zALIASES.confz	USER.confc               @   s,   e Zd Zdd Zedd Zedd ZdS )AliasesConfigc             C   s$   || _ tjj | _| jj| j  d S )N)_pathlibdnfconfZConfigParser_parserread)selfpath r   /usr/lib/python3.6/aliases.py__init__*   s    zAliasesConfig.__init__c             C   sH   t jjd}y|jt| jj d d  W n tk
r>   Y nX |j S )NTmainenabled)	r	   r
   
OptionBoolsetr   r   ZgetData
IndexErrorgetValue)r   optionr   r   r   r   /   s    zAliasesConfig.enabledc             C   sV   t j }d}| jj|s|S x4| jj|D ]$}| jj||}|sBq*|j ||< q*W |S )Naliases)collectionsOrderedDictr   Z
hasSectionZoptionsr   split)r   resultZsectionkeyvaluer   r   r   r   8   s    zAliasesConfig.aliasesN)__name__
__module____qualname__r   propertyr   r   r   r   r   r   r   )   s   	r   c               @   sN   e Zd Zdd Zdd Zdd Zdd Zdd
dZdd Zdd Z	dd Z
d	S )Aliasesc             C   sF   t j | _d | _d| _| j r(d| _d S | j  | js:d S | j  d S )NTF)r   r   r   r
   r   _disabled_by_environ
_load_main_load_aliases)r   r   r   r   r   G   s    
zAliases.__init__c             C   sh   t jjd}y|jttjd  |j S  tk
r:   dS  t	k
rb   t
jtdtjd  dS X d S )NTZDNF_DISABLE_ALIASESFz@Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s)r	   r
   r   r   r   osenvironr   KeyErrorRuntimeErrorloggerwarningr   )r   r   r   r   r   r%   W   s    zAliases._disabled_by_environc             C   s   yt |S  tk
rB } ztjjtd||f W Y d d }~X n: tk
rz } ztjjtd||f W Y d d }~X nX d S )NzParsing file "%s" failed: %szCannot read file "%s": %s)r   r+   r   
exceptionsConfigErrorr   IOError)r   r   er   r   r   
_load_confd   s    "zAliases._load_confc             C   sV   y| j t| _| jj| _W n6 tjjk
rP } ztjt	d| W Y d d }~X nX d S )NzConfig error: %s)
r2   ALIASES_CONF_PATHr
   r   r   r.   r/   r,   debugr   )r   r1   r   r   r   r&   n   s
    zAliases._load_mainNc             C   s   |d kr.y| j  }W n tjjk
r,   d S X xf|D ]^}y"| j|}|jrX| jj|j W q4 tjjk
r } ztj	t
d| W Y d d }~X q4X q4W d S )NzConfig error: %s)_dropin_dir_filenamesr   r.   r/   r2   r   r   updater,   r-   r   )r   	filenamesfilenamer
   r1   r   r   r   r'   u   s    

zAliases._load_aliasesc                s   t jjtt jjtg  fdd}g }yPt jjts@t jt x4tt j	tD ]"}||r^qP|j
t jjt| qPW W n2 ttfk
r } ztjj|W Y d d }~X nX t jjtr|j
t |S )Nc                s   |  kp| j dp| jd S )N..conf.CONF)r:   r;   )
startswithendswith)r8   )ignored_filenamesr   r   _ignore_filename   s    
z7Aliases._dropin_dir_filenames.<locals>._ignore_filename)r(   r   basenamer3   ALIASES_USER_PATHexistsALIASES_DROPIN_DIRmkdirsortedlistdirappendjoinr0   OSErrorr   r.   r/   )r   r?   r7   fnr1   r   )r>   r   r5      s     


zAliases._dropin_dir_filenamesc                s:   g g  _  fdd fdd|} j | S )Nc                sN   d}x&| D ]}|r |d dkr P |d7 }q
W   j | d | 7  _ | |d  S )Nr   -   )prefix_options)argsZnumarg)r   r   r   store_prefix   s    
z&Aliases._resolve.<locals>.store_prefixc                s   | }| s*|d  j ks*|d jdrry.j  |d jdrV|d dd  |d< W n tk
rl   Y nX |S |d krtjjtdj|d   j |d  }|r||dd   S |dd  S d S )Nr   \rL   z"Aliases contain infinite recursion)	r   r<   popr   r   r.   Errorr   rG   )rN   suffixZcurrent_alias_result)r   stackrP   
subresolver   r   rV      s&    
z$Aliases._resolve.<locals>.subresolve)rM   )r   rN   rT   r   )r   rU   rP   rV   r   _resolve   s    zAliases._resolvec             C   sP   | j rLy| j|}W n6 tjjk
rJ } ztjtd| W Y d d }~X nX |S )Nz%s, using original arguments.)r   rW   r   r.   rS   r,   errorr   )r   rN   r1   r   r   r   resolve   s    "zAliases.resolve)N)r    r!   r"   r   r%   r2   r&   r'   r5   rW   rY   r   r   r   r   r$   F   s   

/r$   )Z
__future__r   r   Zdnf.i18nr   r   Zdnf.clir   Zdnf.conf.configr   Zdnf.exceptionsZlibdnf.confr	   Zloggingr(   Zos.pathZ	getLoggerr,   rC   r   rH   r3   rA   objectr   r$   r   r   r   r   <module>   s    
