Ѡg/ddlZddlZddlZddlZddlZddlZddlmZddlm Z ddl m Z ej e ZdZe dZdZdS)N)StringIO)contextmanager)wrapsz&/usr/share/cloudlinux/hooks/listeners/c#Ktj}tj} |p tt_|p tt_dV|t_|t_dS#|t_|t_wxYw)N)sysstdoutstderrr)stdostderr s /builddir/build/BUILDROOT/alt-python27-cllib-3.4.22-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/public_hooks/lib/helpers.pycapture_outputr sq ZF ZF'XZZ 'XZZ      s 8A..BcJtfd}d|_|S)a, Magic decorator that calls all subclass methods that override base decorated one. Requirements: - subclass must be defined in .py file in LISTENERS_DIRECTORY - subclass must NOT start with '_' char - subclass must override base event method (the one with '@hook_method') c .|jD]}tjt j|j}tjttj|kr#t d|t||j drt| j }t|ddr(td j |j td j |j t#j}t%t%}} t'||5||i|dddn #1swxYwYn#t($rt*jjd|j j g||d t d |j j d YnwxYwt#j|z } |} | r'td j |j | |} | r'td j |j | td j | #t#j|z } |} | r'td j |j | |} | r'td j |j | td j | wxYwtd j tjtjtd j ||dS)Nz,%s is not in %s directory; it is in %s, skip_is_magic_methodFz skip %s is not implemented in %szexecuting %s:%sz {{ default }})rr ) fingerprintextrazlistener %s:%s crashed)exc_infoz8captured stdout of %s:%s ~BEGIN OUTPUT~ %s ~END OUTPUT~ z8captured stderr of %s:%s ~BEGIN OUTPUT~ %s ~END OUTPUT~ zrunning %s: %.4f elapsedz.%s executed by the user with uid %s and gid %szended %s(%s, %s)) __class____subclasses__ospathdirnameinspect getmodule__file__normpathLISTENERS_DIRECTORYloggerwarning__name__ startswithgetattrdebuginfotimerr ExceptionravenbaseRavencaptureExceptiongetvaluegeteuidgetegid) selfargskwargssubclass listener_pathlistenernowrr elapsed stdout_str stderr_strfuncs r _wrappedzhook_method.._wrapped.s 5577* Q* QHGOOG,=h,G,G,PQQMw 3448H8H8W8WWW '(02E}VVV ++C00 xxzz4=99Hx!2E::  ?!]H,=??? KK)4=(:K L L L)++C%ZZFF Q#FF33..Hd-f---............... g g g  11!0(2CT] S%+__%6%6&//BSBSTT279JDMdefffff g)+++#__.. NKK ^ $ x/@*NNN#__.. OLL!_!%0A:OOO 7PPPP)+++#__.. NKK ^ $ x/@*NNN#__.. OLL!_!%0A:OOO 7PPPP DM2:<< ? ? ? & tVDDDDDsPF4 F( F4(F, ,F4/F, 0F43K94B IK9IK99B3N,T)rr)r:r;s` r hook_methodr<%sC 4[[/E/E/E/E[/Ed $H O)rloggingrrr)r'ior contextlibr functoolsr getLoggerr"r rr r<r=r rDs %%%%%%  8 $ $?   =====r=