????

Your IP : 3.149.235.7


Current Path : /usr/lib/python3.6/site-packages/dnf/cli/commands/__pycache__/
Upload File :
Current File : //usr/lib/python3.6/site-packages/dnf/cli/commands/__pycache__/repolist.cpython-36.pyc

3

�ft`z2�@s�ddlmZddlmZddlmZddlmZmZmZm	Z	ddl
mZddlZ
ddlZ
ddlZ
ddlZddlZddlZddlZejd�Zdd	�Zd
d�Zdd
�Zdd�ZGdd�dej�ZdS)�)�absolute_import)�unicode_literals)�commands)�_�ucd�fill_exact_width�exact_width)�OptionParserN�dnfcCsd|rtjj|jj��ntd�}|jdkr4td�|S|jsFtd�|St|j�}td�||fSdS)N�unknown�zNever (last: %s)zInstant (last: %s)z%s second(s) (last: %s)���)r
�util�normalize_time�_repo�getTimestamprZmetadata_expire�_num2ui_num)�repo�mdZlast�num�r�/usr/lib/python3.6/repolist.py�_expire_str%s

rcCsttjjd|d��S)Nz%dT)rr
Zpycomp�format)rrrrr0srcCsF|jj�}|jj�}x,|D]$}tj||�r.dStj||�rdSqWdS)NTF)�id�lower�name�fnmatch)rZpatterns�ridZrnmZpatrrr�_repo_match4s


rcCs>d}x*|jtjd�j|jd�D]}||j7}qWtjjj	|�S)Nr)�flags)�reponame__eq)
�query�hawkey�IGNORE_EXCLUDES�filtermrZ_sizer
�clirZ
format_number)�sackr�retZpkgrrr�
_repo_size?sr)c@s@eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dd�Zd
S)�RepoListCommandzVA class containing methods needed by the cli to execute the
    repolist command.
    �repolist�repoinfoz,display the configured software repositoriesc	Csz|j�}|jdddddtd�d�|jddddtd	�d
�|jddddtd
�d
�|jdddddddgtjtd�d�dS)Nz--all�
_repos_action�store_const�allzshow all repos)�dest�action�const�default�helpz	--enabled�enabledzshow enabled repos (default))r0r1r2r4z
--disabled�disabledzshow disabled repos�repos�*zenabled-defaultZ
REPOSITORYzRepository specification)�nargsr3�metavar�choicesr1r4)Zadd_mutually_exclusive_group�add_argumentrr	ZPkgNarrowCallback)�parserZ	repolimitrrr�
set_argparserNszRepoListCommand.set_argparsercCs |jjs|jjtjtjd�dS)N)�stdout�stderr)�opts�quietr&Zredirect_logger�loggingZWARNING�INFO)�selfrrr�
pre_configure_szRepoListCommand.pre_configurecCsT|jjs|jj�|jj}|jjjs0|jjdkr<d|_	d|_
|jjrP|jj|j_dS)Nr,T)
rArBr&Zredirect_repo_progress�demands�base�conf�verbose�commandZavailable_reposZsack_activationr-�repos_action)rErGrrr�	configurecs
zRepoListCommand.configurec-
Csl|jj}dd�|jjD�}|jjj}t|jjj��}|jt	j
d�d�|jj}|j
d|jd}|j
d}|jd}d	}	g}
|s�tjtd
��dS|dkp�|dko�|}g}�x�|D�]�}
t|�r�t|
|�r�q�d7\}}}d
}d	}d
}|�r�|||}}}|
j�rnd}|dk�rq�|�s.|�s.|jjdk�rJ|td�|}ttd��}|�s^|jjdk�r�t|jj|
�}n<d}|dks�|dk�r�|�r�q�|td�|}ttd��}|�p�|jjdk�s�t|
j�}|
j||
j||ff�q�|�r�|
j}nd}|jjtd�|
j�|jjtd�|
j�g}|�r8||jjtd�|�g7}|�rh|
jj ��rh||jjtd�|
jj ��g7}|�r�|
jj!��r�|
jj!�}||jjtd�dj"t#|���g7}|�r|
jj$��rdd�|
jj$�D�}x@|j%�D]4\}}||jjtd�d|dj"t#|��f�g7}�q�W|�r�t|jjj&t'j(d�j)|
jd��}t|jjj&�j)|
jd��}t*|�}t*|�}|	|7}	||jjtd�t+j,j-|
jj.���|jjtd �|�|jjtd!�|�|jjtd"�|�g7}|
j/�r||jjtd#�|
j/�g7}|�r2|
jj0�} ||jjtd$�t+j,j-| ��g7}n"|
j1�r2||jjtd%�|
j1�g7}|
j2}!|!�r^||jjtd&�dj"|!��g7}nF|�r�|
jj3�}"|"�r�d'|"d	t|"�d(f}#||jjtd&�|#�g7}t4|
|�}$||jjtd)�|$�g7}|
j5�r�||jjtd*�dj"|
j5��g7}|
j6�r||jjtd+�dj"|
j6��g7}|�r4||jjtd,�|�g7}|
j7�rV||jjtd-�|
j7�g7}|jd.j"t8t|���q�W|�r�t9d/j"|��|�r:|
�r:ttd0��}%d	}&d	}'xR|
D]J\}}(\}}|%t|�k�r�t|�}%|&t|(�k�r�t|(�}&|'|k�r�|}'�q�W|�rBttd1��|'k�r.|j:|%ttd1��d2})n|j:|%|'d2})n|j:|%d(})|)|&k�r`|)}&n$|)|&8})|%|)d27}%|&|)|)d27}&t;td0�|%�}*|�r�t;td3�|&|&�}+ntd3�}+|�s�t9d4|*|+f�nt9d5|*|+td1�f�xX|
D]P\}}(\}}|�st9d4t;||%�|(f��q�t9d5t;||%�t;|(|&|&�|f��q�W|�sN|jjdk�rhtd6�},t9|,j<t*|	���dS)8NcSsg|]}|j��qSr)r)�.0�xrrr�
<listcomp>psz'RepoListCommand.run.<locals>.<listcomp>r)�keyZgreenZboldZredZnormalrzNo repositories availabler/zenabled-default�Tr6r,r5FzRepo-id            : zRepo-name          : zRepo-status        : zRepo-revision      : zRepo-tags          : z, cSsi|]\}}||�qSrr)rN�k�vrrr�
<dictcomp>�sz'RepoListCommand.run.<locals>.<dictcomp>zRepo-distro-tags      : z[%s]: %s)r )r!zRepo-updated       : zRepo-pkgs          : zRepo-available-pkgs: zRepo-size          : zRepo-metalink      : z  Updated          : zRepo-mirrors       : zRepo-baseurl       : z%s (%d more)rzRepo-expire        : zRepo-exclude       : zRepo-include       : zRepo-excluded      : zRepo-filename      : �
z

zrepo idZstatus�z	repo namez%s %sz%s %s %szTotal packages: {})rRrRrR)=rArLr7rHrIrJ�list�values�sort�operator�
attrgetter�output�termZFG_COLORZMODE�loggerZwarningr�lenrr5rKrr)r'rr�appendrZmetadataZ
fmtKeyValFillrZgetRevisionZgetContentTags�join�sortedZ
getDistroTags�itemsr"r#r$r%rr
rrZgetMaxTimestampZmetalinkrZ
mirrorlistZbaseurlZ
getMirrorsrZexcludepkgsZincludepkgsZrepofile�map�print�columnsrr)-rE�argZextcmdsrJr7r^Z	on_ehibegZ	on_dhibegZon_hiendZtot_numZcolsZinclude_statusZrepoinfo_outputrZehibegZdhibegZhiendZ
ui_enabledZui_endis_widZui_excludes_numr5Zui_sizerr�outZtagsZdistroTagsDictZdistrorZ
num_availableZui_numZui_num_availableZtsZbaseurlsZmirrorsZurlZexpireZid_lenZnm_lenZst_lenZrname�leftZtxt_ridZtxt_rnam�msgrrr�runns.







"







zRepoListCommand.runN)r+r,)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodr>rFrMrlrrrrr*Fsr*)Z
__future__rrZdnf.clirZdnf.i18nrrrrZdnf.cli.option_parserr	Zdnf.cli.formatr
Z
dnf.pycompZdnf.utilrr#rCr[Z	getLoggerr_rrrr)ZCommandr*rrrr�<module>s"