LfV ddlmZddlZddlZddlmZmZddlmZeje Z ejdZ GddZd dZy#e$rdZYRwxYw) )datetimeN)PIPEPopen)dumpsz4.*?/usr/lib/python(\d(?:.\d+)?)/(site|dist)-packagesceZdZdZdZy)memoizec ||_i|_yN)funccache)selfr s (/usr/share/python3/debpython/__init__.py__init__zmemoize.__init__s  ct||f}||jvr|j|i||j|<|j|Sr )rr r )r argskwargskeys r__call__zmemoize.__call__sGT6N# djj 'dii88DJJsOzz#rN)__name__ __module__ __qualname__rrrrrrs rrc d||d}d}|durn||jttn|rt|trd}t |d}t r@|j djt jj|j djt||j|j||tjd |t|fi|5}|j\}}|xr|j!t#|j$|xr t|d |xr t|d  cdddS#1swYyxYw) 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 rexecuter4s93s 3D EU   4 -  j# &Ej#.J    9@@AYAYA[\ ]**4=9: :j 9IIng& w $ 7 ,,. $*""$w11!:c&'&:!:c&'&:<<<  s AE%%E.)NNN)r ImportErrorloggingre subprocessrrpickler getLoggerrr,compile PUBLIC_DIR_RErr4rrrr=sc! "g! RS