uWddlZddlZddlZddlZddlmZmZddlmZm Z m Z ddl m Z m Z mZmZddlmZmZddlmZddlmZddlmZdd lmZdd lmZdd lmZmZmZdd l m!Z!ed ej"dZ#dZ$dZ%dZ&e'dkr}erte ej()dd5ej*dZ+e+,de-de+,ddde+.Z/ee/j0 e/j0gZ1n eZ1e#2de-e1eZ3e#2d e-e3eZ4e#2d!e-e4e%e1e4e3e/j5"e#2d#e-e1er e&e1ddddS#1swxYwYdSdSdS)$N) setup_logginginit_wpos_sentry_safely)get_allowed_modulesget_admin_config_directoryget_admin_config_permissions) acquire_lockget_pwis_wpos_supportedis_wp2_environment_safe)update_constantWordpressError) find_wp_paths)drop_privileges) userdomains) WposError) WposDaemon)cpusersget_installed_php_versionsget_domains_php_info)_remount_cagefscollect_informationz'/var/log/clwpos/collect_information.log) caller_name file_level logfile_pathc tj|t|S#t$r!}t t |d}~wwxYw)a @return: [ { "account": "rm3", "documentroot": "/home/example/public_html", "version": "ea-php72", "handler": "php-fpm", "vhost": "otherchars.rm3.tld" } ] or empty list if command fails somehow )accountloggerphp_vhost_dataN)r_php_get_vhost_versions_logger Exceptionrstr) target_usersphp_data_per_vhostses +py/clwpos/bin/clwpos_collect_information.pyphp_get_vhost_versionsr''sb 1,9@ATVVV V    A s A AA c0|D]} t|}n+#t$rtd|Y B B B#'66  *  7=Q9R9RSSS 9")DD  %5{CCI * ,eeDDDD  ))))      i%%  +=';==               ">bi!H!H E5$ HYu - - - HY % % % %      NPXZ[ \ \ \ HHHH S++s%AA6B C)CC14G"&E =G" EG"EG"-F G"F G"F AG"" H,HHc N|D] } d}d}t|5t|}d|D}|D]|\}}t||D]e}|dz }tj||d} t| dd} t| ts|dz }f} dddn #1swxYwY|r!t d|||||z #t$r'} t d || Yd} ~ d} ~ wwxYwdS) Nrcg|]\}}|SrL).0_docroots r& z(mark_wp2_environment..ss<<< 7G<<<)excludes/IS_WP2_ENVIRONMENTtruez9WP2 propagation: user=%s, total=%d, success=%d, failed=%dz&WP2 propagation: error for user %s: %s)rrrr4r5r6rstripr isinstancer r r1r!r2) r#r) sites_total sites_success_inforRrNdoc_rootwp_path abs_wp_pathresr%s r&mark_wp2_environmentr`js UU UKM ** / /#H--<>/)Q.M // / / / / / / / / / / / / / / / _ X$k=+P]B]___ U U U   FRS T T T T T T T T U'UUs;C1BC6 C1C C1 C &C11 D";DD"__main__z!/var/run/collect_information.lock)attemptsz:Utility to collect information about user for AccelerateWP) descriptionuser?)typenargsz--forceF store_true)defaultactionz2Collection of PHP versions started for user(s): %szInstalled PHP versions: %sz!PHP versions setup per vhosts: %s)r@z)Information was collected for user(s): %s)6r:argparser4loggingclwpos.logsetuprrclwpos.feature_suitesrrr clwpos.utilsrr r r clwpos.wp_utilsr r clcommon.clwpos_librclcommon.clpwdrclcommon.cpapirclwpos.cl_wpos_exceptionsr clwpos.daemonrrrrclcommon.clcagefsrINFOr r'rIr`__name__r5r6ArgumentParserparser add_argumentr" parse_argsargsrdr#r1r,set_php_versions_per_vhostforcerLrQr&rs  BBBBBBBB ZYYYYYYYYYYY;;;;;;;;------******&&&&&&//////$$$$$$TTTTTTTTTT------ -%|:       (,,,^UUU0 z//11 bgll#FHHSW X X X//((5qrrrFC888Iu\JJJ  ""!!! 9  I;LL"799L I33|K\K\]]]7799 1337I3J3JKKK%9%9%;%;" 8##>X:Y:YZZZ \#=?Q\`\fgggg @##lBSBSTTT " " $ $ /  . . .1//////////////////s8D3G88G<?G<