shell bypass 403
3
�gt`�, � @ sj d dl mZ d dl mZ d dlZd dlmZ d dlZd dlm Z G dd� dej
�ZG dd � d ejj
�ZdS )
� )�absolute_import)�unicode_literalsN)�OptionParser)�_c s e Zd ZdZ� fdd�Z� ZS )�RepoDiff�repodiffc s, t t| �j||� |d krd S |jt� d S )N)�superr �__init__Zregister_command�RepoDiffCommand)�self�base�cli)� __class__� �/usr/lib/python3.6/repodiff.pyr $ s zRepoDiff.__init__)�__name__�
__module__�__qualname__�namer �
__classcell__r r )r r r s r c @ sL e Zd ZdZed�Zedd� �Zdd� Zdd� Z d d
� Z
dd� Zd
d� ZdS )r
r z1List differences between two sets of repositoriesc C s� | j ddg ddtd�d� | j ddg dd td
�d� | j ddd
g tjdtd�d� | j dddtd�d� | j ddtd�d� | j ddtd�d� | j ddtd�d� d S )Nz
--repo-oldz-o�append�oldz2Specify old repository, can be used multiple times)�default�action�dest�helpz
--repo-newz-n�newz2Specify new repository, can be used multiple timesz--archz
--archlistz-a�archeszhSpecify architectures to compare, can be used multiple times. By default, only source rpms are compared.z--sizez-s�
store_truez5Output additional data about the size of the changes.)r r z--compare-archzMCompare packages also by arch. By default packages are compared just by name.z--simplez7Output a simple one line message for modified packages.z--downgradezNSplit the data for modified packages between upgraded and downgraded packages.)�add_argumentr r Z_SplitCallback)�parserr r r �
set_argparser/ s
zRepoDiffCommand.set_argparserc C s� | j j}d|_d|_d|_dg| jj_| jj s:| jj
rNtd�}tj
j|��x<| jjj� D ],}|j| jj | jj
kr�|j� q\|j� q\W | jjs�dg| j_d S )NT�allz*Both old and new repositories must be set.�src)r
�demandsZsack_activationZavailable_repos�
changelogsr ZconfZdisable_excludes�optsr r r �dnf�
exceptions�ErrorZreposr"