/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__/cluserextselect.cpython-37.pyc (11234B)
B ¥Íd‹9ã@s~ddlmZddlmZddlmZddlZddlmZddlmZddl m Z dd l m Z dd l mZGd d „d eeƒZdS) é)Úabsolute_import)Úprint_function)ÚdivisionNé)Ú ClExtSelect)Ú ClUserSelect)ÚClSelectExcept)Úclprint)Úapply_for_at_least_one_userc@s¾eZdZdZd+dd„Zd,dd„Zd-dd „Zd d „Zd d „Zdd„Z d.dd„Z dd„Z d/dd„Z dd„Z dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„ZeeƒZed%d&„ƒZd'd(„Zd)d*„ZdS)0ÚClUserExtSelectz alt_php.iniÚphpNcCs$t |||¡d|_g|_g|_dS)N)rÚ__init__Ú_alt_extensionsÚ_user_extensionsÚ _conflicts)ÚselfÚitemÚexclude_pid_list©rúI/opt/alt/python37/lib/python3.7/site-packages/clselect/cluserextselect.pyr szClUserExtSelect.__init__cCsP| |¡|dkr | |¡d}|dkr2t |¡‚ttdd„t| ||¡ƒƒƒS)zœ Returns enabled user extensions for a version as a tuple @param user: string @param version: string @return: tuple NrÚnativecSs|dfS)NTr)ÚirrrÚ)óz9ClUserExtSelect.list_enabled_extensions..)Ú_check_user_in_cagefsÚ get_versionrÚUnableToGetExtensionsÚtupleÚmapÚsortedÚ_get_enabled_extensions)rÚuserÚversionrrrÚlist_enabled_extensionss   z'ClUserExtSelect.list_enabled_extensionsc Cs°| |¡|dkr | |¡d}|dkr2t |¡‚t| ||¡ƒ}t| |¡ƒ}t| |¡ƒ}||B}g}x‡sz5ClUserExtSelect.enable_extensions..cs|ˆkS)Nr)r)Úresolved_dependenciesrrrŠrz3ClUserExtSelect.enable_extensions..Ú N)rr3Ú_compose_user_ini_pathÚ_compose_alt_pathÚ_load_ini_contentsÚlistÚkeysÚ_check_for_conflictsrÚget_conflicts_infoÚ_print_conflicts_infoÚfilterÚ_include_dependenciesÚget_dependencies_listÚ_print_dependencies_infoÚextendÚ _smooth_dataÚ_move_ioncube_extÚ_write_to_fileÚjoinÚ_backup_settingsÚ_reload_processes)rr!r"r0r4Ú user_ini_pathÚalt_pathÚcontentsr)Úextensions_dataZresulting_extensionsZ_conflicts_infor*ÚresolvedZdependence_infor)r@rBrr6ts6           z!ClUserExtSelect.enable_extensionscCs| ||j||¡S)N)r5Ú#replace_extensions_with_dependenses)rr!r"r0rrrÚbulk_replace_extensions™sz'ClUserExtSelect.bulk_replace_extensionscCs,| |||¡\}}}| |¡| |¡|S)a (deprecated) Replaces extensions in user php.ini with supplied ones and print information about dependences and conflicts for old php selector @param user: string @param version: string @param ext_list: list @return: list )r]rOrK)rr!r"r0Zextensions_listÚdependencies_listÚconflict_dependenciesrrrÚreplace_extensionsœs   z"ClUserExtSelect.replace_extensionsc s| |¡g‰g}g}| ||¡}| |¡}| |¡\}} } i} | |¡‰t |ˆ¡}‡fdd„|Dƒ} xJ| D]B} tt‡fdd„|  | g|| ¡ƒƒ} ||  | | |¡}ˆ  | ¡qnWx ˆD]} |  |  | | ¡¡qºW|  |¡}| |d |¡d|¡| |¡| |¡t|  ¡ƒ||fS)a Replaces extensions in user php.ini with supplied ones @param user: string @param version: string @param ext_list: list @return: extensions_list, dependencies_list, conflict_dependencieslist: (list, list, list) csg|]}|ˆkr|‘qSrr)r?r*)r@rrrAÀszGClUserExtSelect.replace_extensions_with_dependenses..cs|ˆkS)Nr)r)rBrrrÂrzEClUserExtSelect.replace_extensions_with_dependenses..rC)rrDrErFrIrrJrGrLrMrNrPrQrRrSrTrUrVrH) rr!r"r0r_r^rWrXrYr)rZr*r[r)r@rBrr\­s4          z3ClUserExtSelect.replace_extensions_with_dependensescCs| ||j||¡S)N)r5Údisable_extensions)rr!r"r0rrrÚbulk_disable_extensionsÑsz'ClUserExtSelect.bulk_disable_extensionsc Csþ| |¡| ||¡}| |¡}| |¡\}}}xpt|ƒD]d} | |krHq:t| ¡ƒ | g¡} | | | |¡r’|  t|ƒ¡s’t   ddd| fdœ¡q:|  | d¡q:Wx*|D]"} | |kr¶q¨|  |  || ¡¡q¨W| |d |¡d|¡| |¡| |¡dS)z¥ Removes extensions from user php.ini @param user: string @param version: string @param ext_list: list @return: None ÚtextÚWARNz%s left as dependency)ÚstatusÚmessageNrC)rrDrErFr$rHr1Ú_is_dependencyÚissubsetr Ú print_diagÚpoprPrQrSrTrUrV) rr!r"r0rWrXrYr)rZrZ rest_of_setr*rrrraÔs4     z"ClUserExtSelect.disable_extensionscCs,|st d¡‚t ||¡}| |||¡}|S)z˜ Replaces extensions in user php.ini with default ones @param user: string @param version: string @return: list ÚVersion)rÚ EmptyParamrr r`)rr!r"r0ÚdatarrrÚreset_extensionsøs   z ClUserExtSelect.reset_extensionscCsld}g}g}xP|D]H}| d¡r0d}| |¡q|rP| d¡rDd}n | |¡q| |¡qW| |¡|S)zˆ PHP ioncube extensions must be at the beginning of extensions list @param contents: list @return: list Fz ;---ioncubeTz;---)Ú startswithr'rP)rYÚfoundZfixed_contentsZstripped_contentsrrrrrRs       z!ClUserExtSelect._move_ioncube_extc Cs<g}g}i}d}d}d}yüt|dƒ}xä|D]Ü}| ¡}| d¡rVd}d}| |¡q,| d¡r| d¡} | dkrtq,| }d}||krŽ|g||<q,|rÄ| d ¡rª| d ¡sªq,| |¡| d ¡rÂd}q,|r,|r,| d ¡s,|dkràq,||krò| |¡||kr,|| |¡q,W| ¡Wnttfk r0YnX|||fS) zb Parses user ini file contents @param path: string @return: tuple FNÚrz;>===Tz;---z;- Úú;z;<===)ÚopenÚrstripror'ÚstripÚcloseÚOSErrorÚIOError) ÚpathrYr)rZZ is_contentZ is_extensionÚext_nameÚiniÚlineZ tmp_ext_namerrrrFsN           z"ClUserExtSelect._load_ini_contentscCs&| ||¡}| |¡}|j |¡dS)z Loads user alternative extensions list for a version @param user: string @param version: string N)rDÚ_skim_over_extensionsrrP)rr!r"rWr)rrrr.\s  z%ClUserExtSelect._load_user_extensionsc Cs„|jr2|j |¡}d| dd¡}|d|dSt|j |¡ƒ}tj |j |dd…|dd |j fd |j | dd¡f|j ¡}|S) z€ Composes user ini file path @param user: string @param version: string @return: string zphp%sÚ.rrz/.cl.selector/alt_z.iniéþÿÿÿNÚetczcl.%s.dzalt-%s%s) Úwithout_cagefsr8Ú get_homedirÚreplaceÚstrr:ÚosrzrTÚ CAGEFS_PATHÚ_itemÚUSER_INI)rr!r"ÚhomedirZphp_dirÚuidrzrrrrDfs    z&ClUserExtSelect._compose_user_ini_path)r N)N)N)F)F)Ú__name__Ú __module__Ú __qualname__r‰r r#r,r r&r3r7r5r6r]r`r\rbrarnrRÚ staticmethodrFr.rDrrrrr s*       %$$ = r )Ú __future__rrrr†Ú clextselectrÚ cluserselectrÚclselectexceptrÚ clselectprintr Úutilsr r rrrrÚs