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 dlZejdZdd Zd d Zdd Zdd ZG dd dejZdS ) )absolute_import)unicode_literals)commands)_ucdfill_exact_widthexact_width)OptionParserNdnfc C sd |rt jj| jj ntd}| jdkr4td| S | jsFtd| S t| j}td||f S d S )Nunknown zNever (last: %s)zInstant (last: %s)z%s second(s) (last: %s))r utilnormalize_time_repogetTimestampr Zmetadata_expire_num2ui_num)repomdZlastnum r /usr/lib/python3.6/repolist.py_expire_str% s r c C s t tjjd| dS )Nz%dT)r r Zpycompformat)r r r r r 0 s r c C sF | j j }| jj }x,|D ]$}tj||r.dS tj||rdS qW dS )NTF)idlowernamefnmatch)r ZpatternsridZrnmZpatr r r _repo_match4 s r c C s> d}x*| j tjdj|jdD ]}||j7 }qW tjjj |S )Nr )flags)reponame__eq) queryhawkeyIGNORE_EXCLUDESfiltermr Z_sizer clir Z format_number)sackr retZpkgr r r _repo_size? s r) c @ s@ e Zd ZdZdZedZedd Zdd Z d d Z dd Zd S )RepoListCommandzVA class containing methods needed by the cli to execute the repolist command. repolistrepoinfoz,display the configured software repositoriesc C sz | j }|jddddd tdd |jddddtd d |jddddtd d | jdddddddgtjtdd d S )Nz--all _repos_actionstore_constallzshow all repos)destactionconstdefaulthelpz --enabledenabledzshow enabled repos (default))r0 r1 r2 r4 z --disableddisabledzshow disabled reposrepos*zenabled-defaultZ REPOSITORYzRepository specification)nargsr3 metavarchoicesr1 r4 )Zadd_mutually_exclusive_groupadd_argumentr r ZPkgNarrowCallback)parserZ repolimitr r r set_argparserN s zRepoListCommand.set_argparserc C s | j js| jjtjtjd d S )N)stdoutstderr)optsquietr&