3 ©ft`z2 ã @ sÀ d dl mZ d dl mZ d dlmZ d dlmZmZmZm Z d dl mZ d dlZ d dlZ d dlZ d dlZd dlZd dlZd dlZejdƒZdd „ Zd d„ Zdd „ Zdd„ ZG dd„ dejƒZdS )é )Úabsolute_import)Úunicode_literals)Úcommands)Ú_ÚucdÚfill_exact_widthÚexact_width)ÚOptionParserNÚdnfc C sd |rt jj| jjƒ ƒntdƒ}| jdkr4tdƒ| S | jsFtdƒ| S t| jƒ}tdƒ||f S d S )NÚunknowné zNever (last: %s)zInstant (last: %s)z%s second(s) (last: %s)éÿÿÿÿ)r ÚutilÚnormalize_timeÚ_repoÚgetTimestampr Zmetadata_expireÚ_num2ui_num)ÚrepoÚmdZlastÚnum© r ú/usr/lib/python3.6/repolist.pyÚ_expire_str% s r c C s t tjjd| dƒƒS )Nz%dT)r r ZpycompÚformat)r r r r r 0 s r c C sF | j jƒ }| jjƒ }x,|D ]$}tj||ƒr.dS tj||ƒrdS qW dS )NTF)ÚidÚlowerÚnameÚfnmatch)r ZpatternsÚridZrnmZpatr r r Ú_repo_match4 s r c C s> d}x*| j tjd�j|jd�D ]}||j7 }qW tjjj |ƒS )Nr )Úflags)Úreponame__eq) ÚqueryÚhawkeyÚIGNORE_EXCLUDESÚfiltermr Z_sizer Úclir Z format_number)Úsackr ÚretZpkgr r r Ú _repo_size? s r) c @ s@ e Zd ZdZdZedƒ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 C sz | j ƒ }|jddddd tdƒd� |jddddtd ƒd � |jddddtd ƒd � | jdddddddgtjtdƒd� d S )Nz--allÚ _repos_actionÚstore_constÚallzshow all repos)ÚdestÚactionÚconstÚdefaultÚhelpz --enabledÚenabledzshow enabled repos (default))r0 r1 r2 r4 z --disabledÚdisabledzshow disabled reposÚreposÚ*zenabled-defaultZ REPOSITORYzRepository specification)Únargsr3 ÚmetavarÚchoicesr1 r4 )Zadd_mutually_exclusive_groupÚadd_argumentr r ZPkgNarrowCallback)ÚparserZ repolimitr r r Ú set_argparserN s zRepoListCommand.set_argparserc C s | j js| jjtjtjd� d S )N)ÚstdoutÚstderr)ÚoptsÚquietr&