g` ddlZddlZddlZddlZddlmZddlmZmZm Z dZ dZ dZ dZ eGdd Zd d ZdS) N) dataclass) is_ubuntu run_commandExternalProgramFailedcptj|}d|jDS)zF Get dict with key-value pairs of default argument values cTi|]%\}}|jtjju||j&S)defaultinspect Parameterempty).0kvs K/opt/cloudlinux/venv/lib64/python3.11/site-packages/clconfigure/__init__.py z%_get_default_args..s=    Aq 9G-3 3 3 19 3 3 3)r signature parametersitems)funcrs r_get_default_argsrsD !$''I  (..00   rci}|t||tt|jj||||S)zD Get all func arguments including defaults, args and kwargs )updaterdictzip__code__ co_varnames)rargskwargs func_argss r_get_args_dictr"skI &t,,--- T#dm7>>??@@@ V rcfd}|S)z: Simple wrapper that logs execution begin and end cfd}|S)Nc t||}tjjdi| |i|dS#t$r"tjdjdi|wxYw)Nz FAILED to %sr )r"logginginfoformat Exception exception)rr r!rnames r wrapped_funcz-task..decorator..wrapped_func.s&tT6::I L11y11 2 2 2 d%f%%%%%   !.+$+2J2J 2J2JKKK s =,A)r )rr,r+s` r decoratorztask..decorator-s*      rr )r+r-s` rtaskr.)s$      rctj|}|tj tj|}tjd|_tj|_||n#t$rYnwxYw|j D][}t|tj r?|j tjkr*tjd|_tj|_\|S)z& Logger setup for all modules z*[%(levelname)s | %(asctime)s]: %(message)sz$[cloudlinux-customizer]: %(message)s)r& getLoggersetLevelDEBUG FileHandler Formatter formatterlevel addHandlerIOErrorhandlers isinstance StreamHandlerstreamsysstderrINFO) logger_namelog_file app_loggerfhhandlers r setup_loggerrE:s";//J &&&"   * *( 8:: =b!!!!      &)) gw4 5 5 )'.CJ:V:V ' 12X Y YG #LGM sB BBc2eZdZUdZeed<eed<eed<dS) RunResultz' Describes process call result exitcodestdoutr>N)__name__ __module__ __qualname____doc__int__annotations__strr rrrGrGPs7MMM KKK KKKKKrrGFctjdd|tj}d|d<t rd|d< t||d\}}}tjd |tjd |t|||S#t$r>}|s!tj t|td d d cYd }~Sd }~wwxYw) zl Just a wrapper above run_command that provides some cool logging of what happens in subprocess z Running %s CLC_ALLnoninteractiveDEBIAN_FRONTENDT)env_datareturn_full_outputz Stdout: %sz Stderr: %sN) r&debugjoinosenvironcopyrrrGrerrorrP)cmdfail_okrWrHrIr>es rrunrcZs  M, ...z  HHX{{7&6"# )#. #$ $ $  &&  lF+++ lF+++66222 ))) " M#a&& ! ! !T4(((((((()s AB11 C9;3C4.C94C9)F)r&r r\r= dataclassesrclcommon.utilsrrrrr"r.rErGrcr rrrfs  !!!!!!HHHHHHHHHH      ",  ))))))r