HEX
Server: nginx/1.28.0
System: Linux server-one 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
User: root (0)
PHP: 8.3.23
Disabled: NONE
Upload Files
File: //proc/2991266/root/usr/share/apt-listchanges/__pycache__/ALCConfig.cpython-310.pyc
o

Dc``A(�@sLddlZddlZddlZddlZddlZddlmZGdd�d�ZdgZdS)�N)�_c@sNeZdZdd�Zdd�Zdd�Zddd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dS)�	ALCConfigcCs�d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_d|_d|_d|_d|_d|_d|_d|_gd�|_gd�|_gd	�|_d
|_d|_d|_d|_dS)
NF�pager�text�bothTz/var/log/apt/listchanges.log)�confirm�debug�show_all�headers�verbose�reverse�	dump_seen�select_frontend�
no_network�ignore_apt_assume�ignore_debian_frontend�titled)	�frontend�
email_address�email_format�latest�log�filter�	save_seen�since�which)�browserr�xtermr)r�html)r�news�
changelogs)�apt_moder
�profilerrrrr	rr
rrrrrrrrrrrrr�
_bool_opts�_value_opts�_cfgfile_only_opts�quiet�frontend_from_env�_allowed_email_formats�_allowed_which)�self�r+�'/usr/share/apt-listchanges/ALCConfig.py�__init__!s<



zALCConfig.__init__cCst��|_|j�|�dS�N)�configparser�ConfigParser�parser�read)r*�filer+r+r,r2fs
zALCConfig.readcCs�|j�|j�rL|j�|j�D]?}d}|j�|j|�rE||jvr(|j�|j|�}n||jvs2||jvr;|j�	|j|�}n
t
�td�|�qt
|||�qdSdS)Nz%Unknown configuration file option: %s)r1�has_sectionr"�options�
has_optionr#�
getbooleanr$r%�get�ALCLog�warningr�setattr)r*�option�valuer+r+r,�exposejs
�zALCConfig.exposeNcCst|||�Sr.)�getattr)r*r<�defvaluer+r+r,r8xsz
ALCConfig.getcCs2|dkrtj}ntj}|�td��t�|�dS)Nrz<Usage: apt-listchanges [options] {--apt | filename.deb ...}
)�sys�stdout�stderr�writer�exit)r*�exitcode�fhr+r+r,�usage{s
zALCConfig.usagecCs:||vr|St�td�||d�|�d��t�d�dS)NzGUnknown argument %(arg)s for option %(opt)s.  Allowed are: %(allowed)s.z, )�arg�opt�allowed�)r9�errorr�joinrArE)r*rIrJrKr+r+r,�_check_allowed�s
�zALCConfig._check_allowedcCs�|js|jrdS|s|�d�|D]K}tj�|�d}|dkr/t�td�d|i�t	�
d�tj�|�sEt�td�d|i�t	�
d�t�|tj
�s\t�td�d|i�t	�
d�qdS)NrLz.debz&%(deb)s does not have '.deb' extension�debz'%(deb)s does not exist or is not a filez%(deb)s is not readable)r!r
rH�os�path�splitextr9rMrrArE�isfile�access�R_OK)r*�debsrP�extr+r+r,�_check_debs�s"



��zALCConfig._check_debsc

Cs�z!t�|dd�dgd�dd�|jD�dd�|jD��\}}Wntjy@}zt�t|��t�d�WYd}~nd}~ww|D]\}}|dkrO||_	qC|dkrVd	|_
qC|j	durf|j
rcd
|_	nd|_	|��dtj
vr{t�d�|_d	|_d	|_d
\}}}	|D]�\}}|dkr�|�d�q�|dvr�d	|_q�|dvr�||_q�|dkr�||_q�|dkr�|�|||j�|_q�|dvr�d	|_q�|dvr�|}q�|dvr�|}q�|dvr�d	}	q�|dvr�d	|_q�|dvr�||_q�|dkr�d	|_q�|dkr�|�|||j�|_q�|dk�rd	|_q�|dk�rd	|_q�|dv�rd	|_ q�|dk�rd	|_!q�|d k�r&d	|_"q�|d!k�r/d	|_q�|d"k�r8d	|_#q�|d#k�rAd$|_#q�|d%v�rJ||_$q�|d&v�rR||_%q�|jd'k�r\d|_|jd'k�red|_|j&du�ro|j'�sw|du�r�|	�r�t�t(d(��t�d�n|du�s�|	�r�||_&|	|_'|j&du�r�t)|�dk�r�t�t(d)��t�d�d|_|j*du�r�|j'�s�|du�r�|	�r�t�t(d*��t�d�n|du�s�|	�r�||_*|	|_'|j
�r�|j�s�t�d+d,�d-k�r�d|_+d$|_|�,|�|S).NrLzvf:s:cah)�aptzprofile=�help�allz
save_seen=cSsg|]}|�dd��qS)r�-��replace��.0�xr+r+r,�
<listcomp>�sz$ALCConfig.getopt.<locals>.<listcomp>cSsg|]
}|�dd�d�qS)rr]�=r^r`r+r+r,rc�sz	--profilez--aptTrZ�cmdline�APT_LISTCHANGES_FRONTEND)NNFz--helpr)z-vz	--verbose)z-fz
--frontendz--email-addressz--email-format)z-cz	--confirmz--sincez--latest)z-az
--show-allz--all)z-hz	--headers)z--save-seenz--save_seenz--dump-seenz--whichz--debugz	--reverse)z-nz--no-networkz--select-frontendz--ignore-apt-assumez--ignore-debian-frontendz--titledz
--untitledFz--logz--filter�nonez7--since=<version> and --show-all are mutually exclusivez<--since=<version> expects a path to exactly one .deb archivez2--latest=<N> and --show-all are mutually exclusive�DEBIAN_FRONTEND��noninteractive)-�getoptr#r$�GetoptErrorr9rM�strrArEr"r!r>rQ�environ�getenvrr'rrHrrrOr(rrr
rr
r)rrrrrrrrrrr	r�lenrr&rY)
r*�argv�optlist�args�errrJrIrrr	r+r+r,rk�s���
���












�

zALCConfig.getoptr.)�__name__�
__module__�__qualname__r-r2r>r8rHrOrYrkr+r+r+r,r sE
	r)	r/rkrArQr9�ALChacksrr�__all__r+r+r+r,�<module>s
}