/opt/cloudlinux/venv/lib/python3.11/site-packages/clselect/__pycache__
NameSizeModeActions
clextselect.cpython-311.pyc268880644editdlrm
clpassenger.cpython-311.pyc380530644editdlrm
clselect.cpython-311.pyc314310644editdlrm
clselectctl.cpython-311.pyc127580644editdlrm
clselectctlnodejsuser.cpython-311.pyc246940644editdlrm
clselectctlphp.cpython-311.pyc620890644editdlrm
clselectctlpython.cpython-311.pyc527500644editdlrm
clselectctlruby.cpython-311.pyc256420644editdlrm
clselectdomains.cpython-311.pyc58620644editdlrm
clselectexcept.cpython-311.pyc235010644editdlrm
clselectprint.cpython-311.pyc97420644editdlrm
clselectstatistics.cpython-311.pyc50560644editdlrm
cluserextselect.cpython-311.pyc218120644editdlrm
cluseroptselect.cpython-311.pyc370690644editdlrm
cluserselect.cpython-311.pyc474270644editdlrm
models.cpython-311.pyc14080644editdlrm
utils.cpython-311.pyc261110644editdlrm
__init__.cpython-311.pyc8760644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/clselect/__pycache__/clselectctl.cpython-311.pyc (12758B)
§ Fl™j.(ãóš—ddlmZddlmZddlmZddlZddlZddlZddlmZddl Z ddl Z ddl Z ddl mZddlmZdd lmZdd lmZmZdd lmZmZdd lmZdd lmZddlmZddlm Z ddl!m"Z"ddl m#Z#mZgd¢Z$edd¦«Z%edd¦«Z&ej'd¦«Z(d„Z)d„Z*d„Z+d„Z,d„Z-d$d„Z.d„Z/d$d„Z0d „Z1d!„Z2d"„Z3d#„Z4dS)%é)Úabsolute_import)Úprint_function)ÚdivisionN)Ú namedtuple)ÚList)Ú iteritemsé)Ú clpassenger)ÚcpusersÚ getCPName)Údrop_privilegesÚClPwd)Úis_no_php_binaries_on_cpanel)ÚClSelectExcept)Ú NodeManager)Ú PythonManager)Ú get_abs_rel)ÚOptionalr)Ú public_htmlÚrubyvenvÚ virtualenvz .cl.selectorz.cagefsÚwwwÚnodevenvÚApplicationSummary©ÚuserÚversionÚdoc_rootÚ interpreterÚ app_statusÚInterpreterSummary©rÚ version_fullÚenabledÚ installedz \A[-\w./]*\Zcó®—|std¦«‚d|vrtd¦«‚tj |¦«rtd¦«‚|ddkrtd¦«‚d| d¦«vrtd ¦«‚|t vrtd |z¦«‚t jd |¦«}|€td ¦«‚dS) NzDirectory must not be emptyú z#Directory should not contain spacesz+Directory should be relative to user's homeéÿÿÿÿú/z-Directory should not contain a trailing slashú..z(Directory must not contain ".." segmentszDirectory "%s" not allowedz\A[-\.\w\/]+\Zz*Directory name contains invalid characters)Ú ValueErrorÚosÚpathÚisabsÚsplitÚDISABLED_DIRECTORY_NAMESÚreÚmatch)Ú directoryÚ all_valids úK/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectctl.pyÚcheck_directoryr6(sî€Ø ð8ÝÐ6Ñ7Ô7Ð7Ø ˆiÐÐÝÐ>Ñ?Ô?Ð?Ý „w‡}‚}�YÑÔðIÝÐGÑHÔHÐHØ�„}˜ÒÐÝÐHÑIÔIÐIð ˆy�Š˜sÑ#Ô#Ð#Ð#ÝÐCÑDÔDÐDØÕ,Ð,Ð,ÝÐ5¸ ÑAÑBÔBÐBÝ”Ð*¨IÑ6Ô6€IØÐÝÐEÑFÔFÐFðÐócóÞ—|dvrdSt |¦«std¦«‚d| d¦«vsd|vrtd¦«‚| d¦«S)N)ú.Úr:zAlias is not validr*r)z./)ÚALIAS_VALID_REr2r+r/Ústrip)Úaliass r5Ú get_aliasr><sy€à � ÐÐØˆrÝ × Ò  Ñ &Ô &ð/ÝÐ-Ñ.Ô.Ð.ð ˆu�{Š{˜3ÑÔÐР4¨5 = =ÝÐ-Ñ.Ô.Ð.Ø �;Š;�sÑ Ô Ðr7cóV—| dd¦« dd¦«S)NÚ_r)z//©Úreplace)Úprefixs r5Ú get_directoryrDMs&€Ø �>Š>˜#˜sÑ #Ô #× +Ò +¨D°#Ñ 6Ô 6Ð6r7cóV—| dd¦« dd¦«S)Nr@Ú__r)rA)r3s r5Ú get_prefixrGQs(€Ø × Ò ˜S $Ñ 'Ô '× /Ò /°°SÑ 9Ô 9Ð9r7cóŒ—|s,tj¦«}tj|¦«j}|dkrt d¦«‚|S)NÚrootz8User parameter must be specified if current user is root)r,ÚgeteuidÚpwdÚgetpwuidÚpw_namer+)rÚ current_euids r5Úget_userrOUsD€Ø ð2Ý”z‘|”|ˆ ÝŒ|˜LÑ)Ô)Ô1ˆØ ˆv‚~€~ÝÐSÑTÔTÐTØ €Kr7cóÄ—|dvrtj |¦«Stj |¦«otj |¦«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 ©ÚnodejsÚpython)r,r-ÚisdirÚisfile)rÚapp_rootÚ binary_paths r5Ú_verify_applicationrX^sK€ðÐ*Ð*Ð*ÝŒw�}Š}˜XÑ&Ô&Ð&Ý Œ7�>Š>˜+Ñ &Ô &Ð B­2¬7¯=ª=¸Ñ+BÔ+BÐBr7c óÈ—d}g}tj¦«}t¦«D�]:} tj¦«r@ddlm}||d¬¦«f}ttdtd„|¦«¦«¦«}t|¦«5tj |¦«|  t|||¦«¦«ddd¦«n #1swxYwYŒ·#tj$rYŒÈt"$rht%jt(¦«}| d||t-j¦«t1t-j¦«¦«fz¦«Y�Œ8wxYw|S)z8Find and return all apps for given interpreter on serverNr)Ú userdomainsT)Úas_rootcó—|r|dndS)Nr©)Úxs r5úz-server_applications_summary..~s€¨aÐ&9 a¨¤d d°T€r7z]DEBUG: user %s present in panel but doesn't exist in system. Process euid=%d. Trace: %s at %s)r,rJr ÚdetectÚis_daÚ"clcommon.cpapi.plugins.directadminrZÚlistÚfilterÚmapr rKÚgetpwnamÚextendÚ _user_applications_short_summaryrÚNoSuchUserExceptionÚKeyErrorÚloggingÚ getLoggerÚ__name__ÚerrorÚ tracebackÚ format_excÚstrÚ extract_stack)rÚ domains_dataÚ applicationsÚeuidrrZÚ domains_listÚloggers r5Úserver_applications_summaryrxksú€ð€Là€Lå Œ:‰<Œ<€DÝ‘ ” ð_ñ_ˆð _ÝŒ|‰~Œ~ð àJÐJÐJÐJÐJÐJØ*˜{¨4¸Ð>Ñ>Ô>Ð?� Ý#ÝØÝØ9Ð9Ø(ñôñôñ ô � õ! Ñ&Ô&ð Wð Wå” ˜TÑ"Ô"Ð"Ø×#Ò#Ý4°T¸;È ÑUÔUñWôWðWð Wð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wøøõ Ô(ð ð ð Ø ˆHÝð _ð _ð _õÔ&¥xÑ0Ô0ˆFØ �LŠLÐxØ ¥iÔ&:Ñ&<Ô&<½cÅ)ÔBYÑB[ÔB[Ñ>\Ô>\Ð]ñ^ñ _ô _ð _ð _ñ _ð  _øøøð Ðs=ªA"C 9Cà CÃC ÃCÃC ÃCÃEÃ.A-EÅEc #óBK—|}|dvrÄ |dkrddlm}nddlm}|¦« |¦«}n#tj$rYdSwxYwt |¦«D]j\}} t||¦«\}} n#tj$rYŒ+wxYwt||¦«r+t||d|z|d||d¬ ¦«V—ŒkdSt tj ||¬ ¦«¦«D]®\} }|d |krŒ|d |d }} t||| ¦«r{tj  tj  tj  | ¦«¦«¦«} t|| |d|d d¬ ¦«V—Œ¯dS)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] rQrRr )ÚApplicationsManagerNz %s_versionÚdomainr r)Úuserdomains_datarÚbinaryr3ÚdocrootÚstarted)Úclselectnodejs.apps_managerrzÚclselectpython.apps_managerÚget_user_config_datarÚ WrongDatarrrXrr Úsummaryr,r-ÚbasenameÚdirname) rrÚdomains_docroots_datar|rzÚ config_dataÚappÚdatarVr@Údummyr}Ú it_versions r5rhrh•s5èè€ð-ÐàÐ*Ð*Ð*ð Ø˜hÒ&Ð&ØLÐLÐLÐLÐLÐLÐLàLÐLÐLÐLÐLÐLà-Ð-Ñ/Ô/×DÒDÀTÑJÔJˆKˆKøÝÔ'ð ð ð Ø ˆFˆFð øøøå" ;Ñ/Ô/ð ð ‰IˆC�ð Ý)¨$°Ñ4Ô4‘ �˜!˜!øÝ!Ô+ð ð ð Ø�ð øøøå" ;°Ñ9Ô9ð Ý(ØØ  ° Ñ!;Ô<Ø! (œ^Ø +Ø# LÔ1ð ñôðððøð ð õ%¥[Ô%8¸ÐP`Ð%aÑ%aÔ%aÑbÔbð `ð `‰KˆE�4Ø�MÔ" kÒ1Ð1Øð $ Hœ~¨t°KÔ/@�HˆFÝ" ;°¸&ÑAÔAð `ÝœW×-Ò-­b¬g¯oªo½b¼g¿oºoÈfÑ>UÔ>UÑ.VÔ.VÑWÔW� Ý(¨d¸JÐQUÐV_ÔQ`Ø59¸-Ô5HÐU^ð`ñ`ô`ð`ð`ð`øð `ð `s!Š0;»AÁ AÁ&A:Á:B  B cój—|dkrt¦«jS|dkrt¦«jSdS)z-Return default version for given interpreter rRrSN)rÚdefault_versionr)rs r5Úget_default_versionr�Æs7€à�hÒÐ݉}Œ}Ô,Ð,Ø�hÒÐ݉ŒÔ.Ð.Ø ˆ4r7c#óK—|dkr#t¦« d¬¦«}n7|dkr#t¦« d¬¦«}nt¦«‚t |d¦«D]’\}}|ddk}|dkr6t t | d¦«d ¦«¦«}n0d | d¦«d d …¦«}t|||d¬ ¦«V—Œ“d S) z.Return generator for interpreters all versionsrRT)Úinstalled_interpreters_onlyrSÚavailable_versionsÚstatusr$r9rNér") rÚ get_summaryrÚNotImplementedErrorrrqÚintr/Újoinr!)rÚ interpretersrÚ version_infor$Ú major_versions r5Ú_iter_interpretersrœÏsèè€à�hÒÐÝ"‘}”}×0Ò0ÈTÐ0ÑRÔRˆ ˆ Ø ˜Ò Ð Ý$‘”×2Ò2ÈtÐ2ÑTÔTˆ ˆ å!Ñ#Ô#Ð#Ý!*¨<Ð8LÔ+MÑ!NÔ!Nðoðoш�ؘxÔ(¨IÒ5ˆØ ˜(Ò "Ð "奠G§M¢M°#Ñ$6Ô$6°qÔ$9Ñ :Ô :Ñ;Ô;ˆMˆMð ŸHšH W§]¢]°3Ñ%7Ô%7¸¸¸Ô%;Ñ<Ô<ˆMÝ ¨ÀWÐV]ÐimÐnÑnÔnÐnÐnÐnÐnðoðor7c #ó´K—ddlm}|¦«}| ¦«}|D].\}}}t||d| |¦«¬¦«V—Œ/dS)zf Return generator with all PHP versions on server. :return: Generator[InterpreterSummary] r )ÚClSelectT©r%r$N)ÚclselectržÚlist_alternativesr!Úis_version_enabled)ržÚphpÚversionsrÚ full_versionr@s r5Ú_iter_php_interpretersr¦âs”èè€ð #Ð"Ð"Ð"Ð"Ð"Ø ˆ(‰*Œ*€CØ×$Ò$Ñ&Ô&€HØ$,ð5ð5Ñ ˆ�˜qÝ Ø �\¨TØ×*Ò*¨7Ñ3Ô3ð5ñ5ô5ð 5ð 5ð 5ð 5ð5ð5r7c ór—|dkr=t¦«dkrt¦«rgStt¦«¦«S|dkrddlm}n'|dvrtt |¦«¦«St‚g}|¦«D]2}| t|j |j dd¬¦«¦«Œ3|S) zrDrGrOrXrxrhr�rœr¦r®r]r7r5úr¼s€ðð'Ð&Ð&Ð&Ð&Ð&Ø%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐØ € € € Ø € € € Ø € € € Ø"Ð"Ð"Ð"Ð"Ð"Ø€€€ØÐÐÐàÐÐÐØÐÐÐÐÐØ"Ð"Ð"Ð"Ð"Ð"àÐÐÐÐÐà-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØFÐFÐFÐFÐFÐFØ*Ð*Ð*Ð*Ð*Ð*Ø4Ð4Ð4Ð4Ð4Ð4Ø8Ð8Ð8Ð8Ð8Ð8ØÐÐÐÐÐØ!Ð!Ð!Ð!Ð!Ð!Ð!Ð!àrÐrÐrÐØ�ZÐ 4Ð6rÑsÔsÐØ�ZÐ 4Ð6iÑjÔjÐà�”˜OÑ,Ô,€ðGðGðGð(ððð"7ð7ð7ð:ð:ð:ðððð Cð Cð Cð Cð'ð'ð'ðT.`ð.`ð.`ð.`ðbðððoðoðoð& 5ð 5ð 5ðððððr7