j'~dZddlZddlZdZeddfZeddfZd Zd ed e fd Z d ed efdZ dS)z@ Shared constants and helpers for clos_ssa.ini file management. Nz clos_ssa.iniz./var/cagefs/*/*/etc/cl.php.d/alt-php[0-9][0-9]c\tj|ddSN/pwdgetpwnamsplitpaths G/opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/clos_ssa_ini.pyr3< 3(:;;)r userz0/var/cagefs/*/*/etc/cl.php.d/*/alt-php[0-9][0-9]c\tj|ddSrrr s r rrrr)php44php51php52php53zphp\d+-imunifyz php-internaldir_pathreturncJtD]}tj||rdSdS)z'Check if given path is in exclude list.TF)EXCLUDE_DIR_PATHSresearch)rpatterns r is_excluded_pathr$s6$ 9Wh ' ' 44  5rr c^tjd|}|r|dndS)zAExtract PHP version number from path (e.g., 'alt-php80' -> '80').z php(\d{2})N)rrgroup)r matchs r extract_php_versionr#,s, ImT * *E" ,5;;q>>>,r) __doc__rr INI_FILE_NAMEdictINI_USER_LOCATIONS_BASE$INI_USER_LOCATIONS_WEBSITE_ISOLATIONrstrboolrr#rr r,s   D>;;=== D@;;===($  st-c-c------r