§ ½@¾j´ãó‚—ddlZddlmZddlmZddlmZddlmZm Z ddl m Z ddl m Z dd lmZGd „d e¦«ZdS) éN)ÚFeature)ÚExternalProgramFailed)Úcheck_cagefs_initialized)ÚCageFsÚCageFsException)ÚMODULES_LOGS_DIR)ÚInstallationFailedExceptioné)ÚWizardInstallerc󢇗eZdZej ed¦«Zej Z ˆfd„Z d„Z d„Z d„Zd„Zd„Zd„Zed „¦«Zd „ZˆxZS) ÚCagefsInstallerz cagefs.logcó|•—t¦« ¦«t|j¬¦«|_dS)N)Úlogger)ÚsuperÚ__init__rÚ app_loggerÚcgfs)ÚselfÚ __class__s €úpy/clwizard/modules/cagefs.pyrzCagefsInstaller.__init__s1ø€Ý ‰Œ×ÒÑÔÐÝ $¤/Ð2Ñ2Ô2ˆŒ ˆ ˆ ócóâ—|j ¦«}|j ¦«}|j d|¦«|dkr|j ¦«dSdS)z` Enable all users statuses and after it toggle to initial mode :return: z.Cagefs users status was updated to enabled: %sú Disable AllN)rÚ get_user_modeÚset_enabled_moderÚinfoÚtoggle_user_mode)rÚ initial_modeÚouts rÚ_enable_existing_usersz&CagefsInstaller._enable_existing_userssp€ð ”y×.Ò.Ñ0Ô0ˆ ØŒi×(Ò(Ñ*Ô*ˆØ Œ×ÒÐMÈsÑSÔSÐSØ ˜=Ò (Ð (Ø ŒI× &Ò &Ñ (Ô (Ð (Ð (Ð (ð )Ð (rcó—|j ¦«}|j d|¦«|dkrO|j d¦«|j ¦«|j d¦«dSdS)NzCurrent mode is: %srzTry to set mode to Enable allzMode was toggled to Enable all)rrrrr)rÚmodes rÚ_set_enabled_modez!CagefsInstaller._set_enabled_mode's‰€ØŒy×&Ò&Ñ(Ô(ˆØ Œ×ÒÐ2°DÑ9Ô9Ð9Ø �=Ò Ð Ø ŒO× Ò Ð!@Ñ AÔ AÐ AØ ŒI× &Ò &Ñ (Ô (Ð (Ø ŒO× Ò Ð!AÑ BÔ BÐ BÐ BÐ Bð !Ð rcóÖ—| d¦«s9 | d¦«dS#t$r}t¦«|‚d}~wwxYw|j d¦«dS)NÚcagefsz2Skip package installation, it is already installed)Ú_is_package_installedÚ_install_packagerr rr)rÚerrs rÚ_install_cagefs_packagez'CagefsInstaller._install_cagefs_package/s„€Ø×)Ò)¨(Ñ3Ô3ð Wð =Ø×%Ò% hÑ/Ô/Ð/Ð/Ð/øÝ(ð =ð =ð =Ý1Ñ3Ô3¸Ð<øøøøð =øøøð ŒO× Ò Ð!UÑ VÔ VÐ VÐ VÐ Vs—.® A ¸AÁA cóV—t¦«s€ |j ¦«}|j d|¦«dS#t $r<}|j dt|¦«¦«t¦«|‚d}~wwxYw|j d¦«dS)NzCagefs was initialized: %sz+Cagefs initialization failed with error: %sz8Initializing was skipped, cagefs was already initialized) rrÚinitialize_cagefsrrrÚerrorÚstrr ©rrr(s rÚ_initialize_cagefsz"CagefsInstaller._initialize_cagefs8s·€Ý'Ñ)Ô)ð ]ð =Ø”i×1Ò1Ñ3Ô3�Ø”×$Ò$Ð%AÀ3ÑGÔGÐGÐGÐGøÝ"ð =ð =ð =Ø”×%Ò%Ð&SÕUXÐY\ÑU]ÔU]Ñ^Ô^Ð^Ý1Ñ3Ô3¸Ð<øøøøð =øøøð ŒO× Ò Ð![Ñ \Ô \Ð \Ð \Ð \s�4AÁ B Á7BÂB có²— |j ¦«}|j d|¦«dS#t$r}t ¦«|‚d}~wwxYw)Nz/Cagefs was enabled, ready for configuration %s)rÚ enable_cagefsrrrr r.s rÚ_enable_cagefszCagefsInstaller._enable_cagefsCsg€ð 9Ø”)×)Ò)Ñ+Ô+ˆCØ ŒO× Ò Ð!SÐUXÑ YÔ YÐ YÐ YÐ YøÝð 9ð 9ð 9Ý-Ñ/Ô/°SÐ 8øøøøð 9øøøs‚48¸ AÁAÁAcó†—| ¦«| ¦«| ¦« |dr| ¦«|dr| ¦«dSdS#t $r<}|j dt|¦«¦«t¦«|‚d}~wwxYw)NÚenable_for_existing_usersÚenable_for_new_userszCan`t configure options: %s) r)r/r2r r#rrr,r-r )rÚoptionsr(s rÚrun_installationz CagefsInstaller.run_installationJsÙ€Ø ×$Ò$Ñ&Ô&Ð&Ø ×ÒÑ!Ô!Ð!Ø ×ÒÑÔÐð 9ØÐ2Ô3ð .Ø×+Ò+Ñ-Ô-Ð-ØÐ-Ô.ð )Ø×&Ò&Ñ(Ô(Ð(Ð(Ð(ð )ð )øåð 9ð 9ð 9Ø ŒO× !Ò !Ð"?ÅÀSÁÄÑ JÔ JÐ JÝ-Ñ/Ô/°SÐ 8øøøøð 9øøøs¾8A:Á: CÂ7B;Â;Ccó —ddhS)Nr4r5©)Úclss rÚsupported_optionsz!CagefsInstaller.supported_optionsWs€à+Ð-CÐDÐDrcóØ— |j ¦«dk}n,#t$r|j d¦«d}YnwxYwt t ¦«¦«d|idœS)Nz Enable Allz?Unable to detect cagefs mode, assuming that it is "Disable All"Fr5)Úalready_configuredr6)rrrrÚwarningÚboolr)rÚenabled_for_news rÚinitial_statuszCagefsInstaller.initial_status[s�€ð $Ø"œi×5Ò5Ñ7Ô7¸<ÒGˆOˆOøÝð $ð $ð $Ø ŒO× #Ò #ØQñ ô ð ð$ˆOˆOˆOð  $øøøõ#'Õ'?Ñ'AÔ'AÑ"BÔ"BØ.°Ð@ð  ð ð s‚  &A ÁA )Ú__name__Ú __module__Ú __qualname__ÚosÚpathÚjoinrÚLOG_FILErÚCAGEFSÚ_REQUIRED_CL_COMPONENT_SUPPORTrr r#r)r/r2r7Ú classmethodr;rAÚ __classcell__)rs@rr r sæø€€€€€ØŒw�|Š|Ð,¨lÑ;Ô;€HØ%,¤^Ð"ð3ð3ð3ð3ð3ð )ð )ð )ðCðCðCðWðWðWð ]ð ]ð ]ð9ð9ð9ð 9ð 9ð 9ððEðEñ„[ðEð ð ð ð ð ð ð rr )rEÚclcommon.constrÚclcommon.utilsrÚ!clconfig.cagefs_statistics_configrÚcllimits.cagefs_librrÚclwizard.constantsrÚclwizard.exceptionsr Úbaser r r9rrúrTsÒðð € € € à"Ð"Ð"Ð"Ð"Ð"Ø0Ð0Ð0Ð0Ð0Ð0ØFÐFÐFÐFÐFÐFØ7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø/Ð/Ð/Ð/Ð/Ð/Ø;Ð;Ð;Ð;Ð;Ð;à!Ð!Ð!Ð!Ð!Ð!ðV ðV ðV ðV ðV �oñV ôV ðV ðV ðV r