
    9bhV                          S SK J r   S SKrS SKrS SKJrJr  S SKJr  \R                  " \
5      r\R                  " S5      r " S S5      rS	S jrg! \ a    Sr  NTf = f)
    )datetimeN)PIPEPopen)dumpsz4.*?/usr/lib/python(\d(?:.\d+)?)/(site|dist)-packagesc                        \ rS rSrS rS rSrg)memoize   c                     Xl         0 U l        g N)funccache)selfr   s     (/usr/share/python3/debpython/__init__.py__init__memoize.__init__   s    	
    c                     [        X45      nX0R                  ;  a  U R                  " U0 UD6U R                  U'   U R                  U   $ r   )r   r   r   )r   argskwargskeys       r   __call__memoize.__call__   sA    TN#jj "ii88DJJsOzz#r   )r   r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r      s    r   r   c           	         SXS.nSnUSL a  OUc  UR                  [        [        S9  OU(       a  [        U[        5      (       a  Sn[	        US5      n[
        (       aA  UR                  SR                  [
        R                  " 5       R                  5       5      5        UR                  SR                  [        U 5      5      5        UR                  5         UR                  X3S9  [        R                  S	U 5        [        U 40 UD6 nUR                  5       u  pxU=(       a    UR!                  5         [#        UR$                  U=(       a    [        US
5      U=(       a    [        US
5      S9sSSS5        $ ! , (       d  f       g= f)a  Execute external commad.

:param cdw: currennt working directory
:param env: environment
:param log_output:
    * opened log file or path to this file, or
    * None if output should be included in the returned dict, or
    * False if output should be redirectored to stdout/stderr
F)shellcwdenvN)stdoutstderrTaz
# command executed on {}z
$ {}
zinvoking: %rzutf-8)
returncoder#   r$   )updater   
isinstancestropenr   writeformatnow	isoformatreprflushlogdebugr   communicateclosedictr&   )	commandr!   r"   
log_outputr   r4   processr#   r$   s	            r   executer9      s3    33DEU		4-	j#&&Ej#.J89@@AYAYA[\]**4=9::9IIng&	w	$	7 ,,.$*""$w11!:c&'&:!:c&'&:< 
 		s   
A&E::
F)NNN)r   ImportErrorloggingre
subprocessr   r   pickler   	getLoggerr   r1   compilePUBLIC_DIR_REr   r9   r   r   r   <module>rB      s_   !  	 " !

RS	 	 </  Hs   A AA