§ ½@¾jñãó®—ddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZGd „d e¦«Zd Zd „Zd„Zd„Zd„Zd„Zd„ZdS)éN)ÚFormattedException)Úcheck_quota_enabled)ÚFeature)Úis_panel_feature_supported)ÚUIConfig)Ú exec_utilityé)Úboolean_to_0_1có—eZdZdS)ÚUIConfigExceptionN)Ú__name__Ú __module__Ú __qualname__©óúpy/clconfig/ui_config_lib.pyr r s€€€€€Ø€Drr z+/usr/share/l.v.e-manager/utils/dynamicui.pycó\—tt¦« ¦«¦«S)a6 Retrives UI settings from config file :return: dict. For example: {'inodeLimits': {'showUserInodesUsage': False}, 'uiSettings': {'hideRubyApp': False, 'hideLVEUserStat': False, 'hidePythonApp': False, 'hidePHPextensions': True} } )Ú filter_flagsrÚ get_configrrrÚ get_ui_configrs"€õ �™ œ ×-Ò-Ñ/Ô/Ñ 0Ô 0Ð0rcó — ttdgd¬¦«\}}}n<#t$r/}tdt |¦«zdtidœ¦«|‚d}~wwxYw|dkr"td|zd z|zdtidœ¦«‚dS) Nz--sync-conf=allT)Ústderrz Can't execute file %(ctl_cmd)s: Úctl_cmd)ÚmessageÚcontextrz#Error while executing %(ctl_cmd)s: ú )rÚDYNAMIC_UI_CTL_CMDÚOSErrorr Ústr)ÚretcodeÚoutÚerrÚes rÚ refresh_panelr$*sÞ€ðUÝ(Õ);Ð>OÐ=PÐY]Ð^Ñ^Ô^ш��c�cøÝ ðUðUðUÝÐ,NÕQTÐUVÑQWÔQWÑ,WØ-6Õ8JÐ,Kð!Mð!MñNôNØSTð UøøøøðUøøøð�!‚|€|ÝÐ,QÐTWÑ,WÐZ]Ñ,]Ð`cÑ,cØ-6Õ8JÐ,Kð!Mð!MñNôNð Nð€|s‚Ÿ A©*AÁAcó— t|dd ¦«}dddœ}d||z}tj|ddtjtj¬ ¦«n#tjt f$rYnwxYwt|¦«d S) a Sets UI settings to UI config file Using subfunction _set_ui_config :param parameters_dict: Parameters to set dictionary. For example: {'inodeLimits': {'showUserInodesUsage': False}, 'uiSettings': {'hideRubyApp': False, 'hideLVEUserStat': False, 'hidePythonApp': False, 'hidePHPextensions': True} } :return: None Ú uiSettingsÚ hidePythonAppÚdisabledÚenabled)Ú0Ú1zFcloudlinux-selector set --json --interpreter python --selector-status Tz /bin/bash)ÚshellÚ executableÚstdoutrN)r Ú subprocessÚ check_callÚDEVNULLÚSTDOUTÚCalledProcessErrorÚKeyErrorÚ_set_ui_config)Úparameters_dictÚenablepythonappÚ lve_to_selectÚ py_commands rÚ set_ui_configr:5s¶€ð  å(¨_¸\Ô-JÈ?Ô-[Ð)[Ñ\Ô\ˆà'¨iÐ8Ð8ˆ ð_ؘOÔ,ñ-ˆ åÔ˜j°ÀÝ%/Ô%7Å Ô@Qð Sñ Sô Sð Sð Søå Ô )­8Ð 4ð ð ð Ø ˆð øøøõ�?Ñ#Ô#Ð#Ð#Ð#s‚AAÁA5Á4A5cód—t¦« |¦«t¦«dS)aW Sets UI settings to config file :param parameters_dict: Parameters to set dictionary. For example: {'inodeLimits': {'showUserInodesUsage': False}, 'uiSettings': {'hideRubyApp': False, 'hideLVEUserStat': False, 'hidePythonApp': False, 'hidePHPextensions': True} } :return: None N)rÚ set_configr$)r6s rr5r5Ss)€õ �J„J×Ò˜/Ñ*Ô*Ð*å�O„O€O€O€Orcó\—t| d¦«¦« t¦«�| d¦«n#t$rYnwxYw t t j¦«s)| di¦« d¦«n#t$rYnwxYw|S)Nr&Ú inodeLimitsÚhideLVEUserStat)Ú panel_filterÚgetrÚpopr4rrÚLVE)Ú mapped_flagss rrrbsÈ€Ý�×!Ò! ,Ñ/Ô/Ñ0Ô0Ð0ð Ý Ñ Ô Ð ,Ø × Ò ˜]Ñ +Ô +Ð +øøÝ ð ð ð Ø ˆð øøøð Ý)­'¬+Ñ6Ô6ð FØ × Ò ˜\¨2Ñ .Ô .× 2Ò 2Ð3DÑ EÔ EÐ EøøÝ ð ð ð Ø ˆð øøøà Ðs$¤#AÁ AÁAÁAB B)Â(B)cóL—tj¦«rttj¦«s| d¦«tj¦«sttj¦«s| d¦«ttj¦«s| d¦«ttj ¦«s| d¦«ttj ¦«s,| d¦«| d¦«dSdS)z‡ Function that filters UI Settings dictionary depending on panel type :param ui_settings: UI Settings that is filtered Ú hideRubyAppr'Ú hideNodeJsAppÚ hideXrayAppÚ hidePhpAppÚhidePHPextensionsN) ÚdetectÚ is_cpanelrrÚ RUBY_SELECTORrBÚis_pleskÚPYTHON_SELECTORÚNODEJS_SELECTORÚXRAYÚ PHP_SELECTOR)Ú ui_settingss rr@r@qs€õ Ô Ñ Ô ð'Ý*­7Ô+@ÑAÔAð'à�Š˜ Ñ&Ô&Ð&Ý „ÑÔð)Õ :½7Ô;RÑ SÔ Sð)Ø�Š˜Ñ(Ô(Ð(Ý %¥gÔ&=Ñ >Ô >ð)Ø�Š˜Ñ(Ô(Ð(Ý %¥g¤lÑ 3Ô 3ð'Ø�Š˜ Ñ&Ô&Ð&Ý %¥gÔ&:Ñ ;Ô ;ð-Ø�Š˜ Ñ%Ô%Ð%Ø�ŠÐ+Ñ,Ô,Ð,Ð,Ð,ð-ð-r)r/Ú cldetectlibrKÚclcommon.clexceptionrÚclcommon.clquotarÚclcommon.constrÚclcommon.cpapirÚclcommon.ui_configrÚ cllimits.librÚclconfig_utilsr r rrr$r:r5rr@rrrúr\s8ððÐÐÐàÐÐÐØ3Ð3Ð3Ð3Ð3Ð3Ø0Ð0Ð0Ð0Ð0Ð0Ø"Ð"Ð"Ð"Ð"Ð"Ø5Ð5Ð5Ð5Ð5Ð5Ø'Ð'Ð'Ð'Ð'Ð'Ø%Ð%Ð%Ð%Ð%Ð%à*Ð*Ð*Ð*Ð*Ð*ð ð ð ð ð Ð*ñ ô ð ðCÐð 1ð 1ð 1ðNðNðNð$ð$ð$ð< ð ð ð ð ð ð-ð-ð-ð-ð-r