/opt/alt/python37/lib/python3.7/site-packages/clselect/__pycache__
NameSizeModeActions
clextselect.cpython-37.pyc148740644editdlrm
clpassenger.cpython-37.pyc184890644editdlrm
clselect.cpython-37.pyc171060644editdlrm
clselectctl.cpython-37.pyc71490644editdlrm
clselectctlnodejsuser.cpython-37.pyc146790644editdlrm
clselectctlphp.cpython-37.pyc292120644editdlrm
clselectctlpython.cpython-37.pyc292400644editdlrm
clselectctlruby.cpython-37.pyc134050644editdlrm
clselectexcept.cpython-37.pyc150430644editdlrm
clselectprint.cpython-37.pyc50040644editdlrm
clselectstatistics.cpython-37.pyc58630644editdlrm
cluserextselect.cpython-37.pyc112340644editdlrm
cluseroptselect.cpython-37.pyc178190644editdlrm
cluserselect.cpython-37.pyc197810644editdlrm
utils.cpython-37.pyc140970644editdlrm
__init__.cpython-37.pyc6970644editdlrm
Edit: /opt/alt/python37/lib/python3.7/site-packages/clselect/__pycache__/clselectctl.cpython-37.pyc (7149B)
B d$@s~ddlmZddlmZddlmZddlZddlZddlZddlmZddl Z ddl Z ddl Z ddl mZddlmZdd lmZdd lmZmZdd lmZmZdd lmZdd lmZddlmZddlm Z ddl!m"Z"ddl m#Z#mZdddddddgZ$eddZ%eddZ&ddZ'dd Z(d!d"Z)d#d$Z*d%d&Z+d5d'd(Z,d)d*Z-d6d+d,Z.d-d.Z/d/d0Z0d1d2Z1d3d4Z2dS)7)absolute_import)print_function)divisionN) namedtuple)List) iteritems) clpassenger)cpusers getCPName)drop_privilegesClPwd)is_no_php_binaries_on_cpanel)ClSelectExcept) NodeManager) PythonManager) get_abs_rel)Optionalr public_htmlZrubyvenvZ virtualenvz .cl.selectorz.cagefsZwwwnodevenvApplicationSummary)userversiondoc_root interpreter app_statusInterpreterSummary)r version_fullenabled installedcCsld|krtdtj|r$td|ddkr8td|tkrLtd|td|}|dkrhtd dS) N z#Directory should not contain spacesz+Directory should be relative to user's home/z-Directory should not contain a trailing slashzDirectory "%s" not allowedz [-\.\w\/]+$z*Directory name contains invalid characters) ValueErrorospathisabsDISABLED_DIRECTORY_NAMESrematch) directoryZ all_validr+E/opt/alt/python37/lib/python3.7/site-packages/clselect/clselectctl.pycheck_directory&s    r-cCs4xdD]}||krtdqW|dkr*d}|dS)N)#?z./zAlias is not valid).r")r#strip)aliascr+r+r, get_alias4s   r5cCs|ddddS)N_r"z//)replace)prefixr+r+r, get_directory?sr9cCs|ddddS)Nr6__r")r7)r*r+r+r, get_prefixCsr;cCs,|st}t|j}|dkr(td|S)Nrootz8User parameter must be specified if current user is root)r$geteuidpwdgetpwuidpw_namer#)r current_euidr+r+r,get_userGs  rBcCs,|dkrtj|Stj|o*tj|S)z Application is valid only if binary and app_root exists :param binary_path: path to binary in virtual environment :param app_root: path to root directory of application :return: result of checking :rtype: bool )nodejspython)r$r%isdirisfile)rapp_rootZ binary_pathr+r+r,_verify_applicationPs rHc Csd}g}t}xtD]}yntrXddlm}||ddf}ttdt dd|}t |"t || t|||WdQRXWqtjk rwYqtk rtt}|d||tttfYqXqW|S) z8Find and return all apps for given interpreter on serverNr) userdomainsT)as_rootcSs|r |dSdS)Nrr+)xr+r+r,pz-server_applications_summary..z]DEBUG: user %s present in panel but doesn't exist in system. Process euid=%d. Trace: %s at %s)r$r=r detectis_daZ"clcommon.cpapi.plugins.directadminrIlistfiltermapr r>getpwnamextend _user_applications_short_summaryr NoSuchUserExceptionKeyErrorlogging getLogger__name__error traceback format_excstr extract_stack)rZ domains_dataZ applicationseuidrrI domains_listloggerr+r+r,server_applications_summary]s2      &rcc csP|}|dkry2|dkr$ddlm}n ddlm}||}Wntjk rTdSXxt|D]b\}}yt||\}} Wntjk rw`YnXt||r`t ||d||d||dd Vq`Wnxtt j ||d D]l\} }|d |krq|d |d } }t||| rt j t j t j | } t || |d|d dd VqWdS)a Return generator with all applications for given user and interpreter. To increase performance, only a small part of the information about the applications is given. :param user: name of panel user :param interpreter: name of interpreter (python, ruby, etc) :param domains_docroots_data: total data about users domains :return: Generator[ApplicationSummary] )rCrDrCr)ApplicationsManagerNz %s_versiondomainr)rrrrr)userdomains_datarbinaryr*docrootstarted)clselectnodejs.apps_managerrdZclselectpython.apps_managerget_user_config_datar WrongDatarrrHrr summaryr$r%basenamedirname) rrZdomains_docroots_datarfrdZ config_dataappdatarGr6dummyrgZ it_versionr+r+r,rUs:       rUcCs$|dkrtjS|dkr tjSdS)z-Return default version for given interpreter rCrDN)rdefault_versionr)rr+r+r,get_default_versions rtccs|dkrtjdd}n|dkr0tjdd}ntxnt|dD]^\}}|ddk}|dkrxtt|dd }nd|dd d }t |||dd VqDWd S) z.Return generator for interpreters all versionsrCT)Zinstalled_interpreters_onlyrDZavailable_versionsstatusrr0rN)rrrr) r get_summaryrNotImplementedErrorrr^intsplitjoinr)r interpretersr version_inforZ major_versionr+r+r,_iter_interpreterss r~ccsJddlm}|}|}x*|D]"\}}}t||d||dVq WdS)zf Return generator with all PHP versions on server. :return: Generator[InterpreterSummary] r)ClSelectT)rrN)clselectrlist_alternativesris_version_enabled)rphpversionsrZ full_versionr6r+r+r,_iter_php_interpreterss rc Cs|dkr&tdkrtrdSttS|dkrr( collectionsrrXr\ cldetectlibrNtypingr future.utilsrr1r clcommon.cpapir r clcommon.clpwdr r Zclcommon.cpapi.plugins.cpanelrclselectexceptrZclselectnodejs.node_managerrZclselectpython.python_managerrutilsrrr'rrr-r5r9r;rBrHrcrUrtr~rrr+r+r+r,sF                * 1