3 ÅÀfJ)ã@szddlmZddlmZddlmZmZddlZddlZddlZddl Z ddl Z Gdd„dej ƒZ Gdd„dej jƒZdS) é)Úabsolute_import)Úunicode_literals)Ú_ÚloggerNcs eZdZdZ‡fdd„Z‡ZS)Ú RepoManageÚ repomanagecs,tt|ƒj||ƒ|dkrdS|jtƒdS)N)ÚsuperrÚ__init__Zregister_commandÚRepoManageCommand)ÚselfÚbaseÚcli)Ú __class__©ú /usr/lib/python3.6/repomanage.pyr $szRepoManage.__init__)Ú__name__Ú __module__Ú __qualname__Únamer Ú __classcell__rr)rrr src@s\eZdZdZedƒZdd„Zdd„Zdd„Ze d d „ƒZ e d d „ƒZ d d„Z e dd„ƒZ dS)r rz"Manage a directory of rpm packagescCs,|jj r(|jj r(|jjtjtjd�dS)N)ÚstdoutÚstderr)ÚoptsÚverboseÚquietr Zredirect_loggerÚloggingZWARNINGÚINFO)r rrrÚ pre_configure/szRepoManageCommand.pre_configurecCs0|jj r|jj r|jjƒ|jj}d|_dS)NT)rrrr Zredirect_repo_progressÚdemandsZsack_activation)r rrrrÚ configure3s zRepoManageCommand.configurec"s@ˆjjr ˆjjr tjjtdƒƒ‚ˆjjr@ˆjjr@tjjtdƒƒ‚ˆjjr`ˆjjr`tjjtdƒƒ‚ˆjj r|ˆjj r|dˆj_i}i}i}tƒ}t ˆjj ƒ}y¦d}ˆj j j |ˆj jˆjjgd�}|jjƒˆj j|ƒtj j�r>ˆj jƒˆj jjƒ}xH|D]@} | jƒ|krú|j| jƒƒ|j| jƒiƒj| jƒgƒj| ƒqúWWn¸tjjk �røg} ˆjˆjjdƒ} t | ƒdk�rˆtjjtd ƒƒ‚ˆj j!ddd �ˆj j"d d d �yˆj j#| ˆj j$j%d �Wn0t&k �ròt'j(tdƒj)dj*| ƒƒƒYnXYnXˆj j+j,t-j.d�j/ƒ} dd„| j0| j0|d�d�j/ƒDƒ} | j1ƒx†| D]~} | j2| j3f}||k�rx| ||k�r‚||j| ƒn | g||<ˆj4| ƒ}||k�r¬||jˆj5| ƒƒnˆj5| ƒg||<�q@Wg}tƒ}ˆjj�r¤xh|j6ƒD]\\}}|||f}|| d…}x6|D].}ˆj4|ƒ}x||D]}|j|ƒ�q W�qW�qàWxb|j7ƒD]V}t8|j6ƒƒ}|| d…}x4|D],}x$||D]}|jt|jƒƒƒ�q|W�qnW�qJWˆjj�r|xh|j6ƒD]\\}}|||f}|d| …}x6|D].}ˆj4|ƒ}x||D]}|j|ƒ�qøW�qàW�q¸Wxb|j7ƒD]V}t8|j6ƒƒ}|d| …}x4|D],}x$||D]}|jt|jƒƒƒ�qTW�qFW�q"Wˆjj�rÔxh|j6ƒD]\\}}|||f}|d| …}x6|D].}ˆj4|ƒ}x||D]}|j|ƒ�qÐW�q¸W�q�Wtƒ}xb|j7ƒD]V}t8|j6ƒƒ}|| d…}x4|D],}x$||D]}|jt|jƒƒƒ�q2W�q$W�qWxx|j7ƒD]l}t8|j6ƒƒ}|d| …}xJ|D]B}x:||D].}x&|jƒD]} | |k�r¤|j9| ƒ�q¤W�q–W�qˆW�qdW‡fdd„| j0| j0|d�d�j/ƒDƒ}!||!}|j1ƒˆjj:�r$t;dj*|ƒƒnx|D]} t;| ƒ�q*WdS)Nz%Pass either --old or --new, not both!z)Pass either --oldonly or --new, not both!z)Pass either --old or --oldonly, not both!TZrepomanage_repo)Zbaseurlz.rpmrzNo files to process)ÚsackÚreposF)Zload_system_repoZload_available_repos)ÚprogresszCould not open {}z, )ÚflagscSsg|]}|‘qSrr)Ú.0Úxrrrú osz)RepoManageCommand.run..)Z nevra_strict)Zpkg__neqcsg|]}ˆj|ƒ‘qSr)Ú_package_to_path)r$r%)r rrr&Ós)Zpkg__eqú )s