
    dgJ                     Z    S SK r S SKJr  S SKJr  S rS r " S S\5      r " S S	5      r	g)
    N)ALCLog)_c                 (    U R                  5       S;   $ )N)1yestruewithonenable)lowervalues    8/usr/lib/python3/dist-packages/apt_listchanges/ALCApt.py_parse_apt_boolr       s     ;;=HHH    c                 :     [        U 5      $ ! [         a     gf = f)Nr   )int	Exceptionr   s    r   _parse_apt_intr   &   s#    5z s   
 
c                       \ rS rSrSrg)AptPipelineError/    N)__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r   r   /   s    r   r   c                   F   ^  \ rS rSrU 4S jrS rS rS rS rS r	Sr
U =r$ )	AptPipeline3   c                 .   > [         TU ]  5         Xl        g )N)super__init___config)selfconfig	__class__s     r   r$   AptPipeline.__init__4   s    r   c                    [         R                  " [        S5      5        U R                  5        nU R	                  U5        U R                  U5        U R                  U5      nS S S 5        [         R                  " [        S5      5        W H  n[         R                  " SU 35        M     [         R                  " S5        U$ ! , (       d  f       Ng= f)NzAPT pipeline messages:zPackages list:	 )r   debugr   _open_apt_fd_read_version_read_options_read_packages)r&   fddebsds       r   readAptPipeline.read8   s    Q/01 Br"r"&&r*D !
 	Q'()ALL2aS" R ! s   4C
Cc                    S[         R                  ;  a  [        [        S5      5      e [	        [         R                  S   5      n[        R                  " [        S5      U-  5        US:  a  [        [        S5      5      e [         R                  " US5      $ ! [
         a  n[        [        S5      5      UeS nAff = f! [
         a)  n[        [        S5      U[        U5      S	.-  5      UeS nAff = f)
NAPT_HOOK_INFO_FDz{APT_HOOK_INFO_FD environment variable is not defined
(is Dpkg::Tools::Options::/usr/bin/apt-listchanges::InfoFD set to 20?)zDInvalid (non-numeric) value of APT_HOOK_INFO_FD environment variablez7Will read apt pipeline messages from file descriptor %d   zAPT_HOOK_INFO_FD environment variable is incorrectly defined
(Dpkg::Tools::Options::/usr/bin/apt-listchanges::InfoFD should be greater than 2).rtz3Cannot read from file descriptor %(fd)d: %(errmsg)s)r2   errmsg)
osenvironr   r   r   r   r   r-   fdopenstr)r&   apt_hook_info_fd_valexs      r   r.   AptPipeline._open_apt_fdG   s   RZZ/"   !" "
	4#&rzz2D'E#F 
 	GH !	"  !#" 6 78 8
	K991488  	4" * +,134	4   	K"GH-RABCHJK	Ks/   B C 
B>$B99B>
C4$C//C4c                     UR                  5       R                  5       nUS:w  a  [        [        S5      5      e[        R
                  " SU 35        g )Nz	VERSION 2zqWrong or missing VERSION from apt pipeline
(is Dpkg::Tools::Options::/usr/bin/apt-listchanges::Version set to 2?)r+   )readlinerstripr   r   r   r-   )r&   r2   versions      r   r/   AptPipeline._read_versione   sL    ++-&&(k!"    	r'^$r   c                 X    UR                  5       R                  5       n[        R                  " SU 35        U(       d  g U R                  R
                  (       ds  UR                  S5      (       a]  [        U[        S5      S  5      (       aA  SU R                  l	        [        SU R                  R                  5      U R                  l        OZUR                  S5      (       aD  [        [        U[        S5      S  5      U R                  R                  5      U R                  l        GM*  )Nr+   zAPT::Get::Assume-Yes=F   zquiet=)rD   rE   r   r-   r%   ignore_apt_assume
startswithr   lenconfirmmaxquietr   )r&   r2   lines      r   r0   AptPipeline._read_optionsn   s    ;;='')DLL2dV%<<11677tC(?$@$ABCC',$ &)DLL,>,>%?"**%(S]^8L)M)-););&=" r   c                 4   0 n/ n/ nSnUR                  5        H  nUR                  5       n[        R                  " SU 35        U(       d    O`UR	                  S S5      u  pxpnU	S:w  a  MS  US;   a  UR                  U5        Ml  US:w  a  SnUS:X  a  UR                  U5        M  XU'   M     U(       d  / $ U H  nX;   d  M
  X,	 M     / nU H  nX;   d  M
  UR                  X,   5        X,	 M!     UR                  [        UR                  5       5      5        U$ )	NFr+      <)z
**REMOVE**z	**ERROR**-Tz**CONFIGURE**)		readlinesrE   r   r-   splitappendextendsortedvalues)r&   r2   	filenamestoconfigtoremove
hasupgradepkglinepkgname
oldversioncompare_newversionfilenamepkgordered_filenamess                 r   r1   AptPipeline._read_packages   s%   	
||~Gnn&GLL2gY( dA& BW'#~66(
 S !
?*(%-'"1 &8 I CN  C!((8N 
 	  	(8(8(:!;<  r   )r%   )r   r   r   r   r$   r5   r.   r/   r0   r1   r   __classcell__)r(   s   @r   r    r    3   s'    K<%=$<! <!r   r    )
r<   apt_listchangesr   apt_listchanges.ALChacksr   r   r   r   r   r    r   r   r   <module>rl      s3   4 
 " &I	y 	I! I!r   