YeV ddlmZn #e$rdZYnwxYwddlZddlZddlmZmZddlmZej e Z ej dZ GddZd dZdS) )datetimeN)PIPEPopen)dumpsz4.*?/usr/lib/python(\d(?:.\d+)?)/(site|dist)-packagesceZdZdZdZdS)memoizec"||_i|_dSN)funccache)selfr s (/usr/share/python3/debpython/__init__.py__init__zmemoize.__init__s  czt||f}||jvr|j|i||j|<|j|Sr )rr r )r argskwargskeys r__call__zmemoize.__call__sHT6N## dj 'di888DJsOz#rN)__name__ __module__ __qualname__rrrrrrs2rrc fd||d}d}|durn|"|ttn|rt|trd}t |d}t rK|dt j |dt|| |||t d |t|fi|5}|\}}|o|t#|j|ot|d |ot|d  cdddS#1swxYwYdS) a6Execute 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)shellcwdenvN)stdoutstderrTaz # command executed on {}z $ {} z invoking: %rzutf-8) returncoderr)updater isinstancestropenrwriteformatnow isoformatreprflushlogdebugr communicateclosedictr!) commandrr log_outputrr/processrrs rexecuter4s3s 3 3D EU   4 ---- : j# & & /Ej#..J  ^   9@@AYAYA[A[\\ ] ] ]**4==99::: :j 999IIng&&& w  $  <7 ,,.. $*""$$w1!:c&'&:&:!:c&'&:&:<<<<<<<<<<<<<<<<<<<<r=s!!!!!!!HHH """"""""g!! RSS          < < < < <