LSbE ddlmZddlZddlZddlZddlmZddlmZ ddl m Z m Z ddl mZddlmZddlmZdd lmZee Zejd ejGd d e ZdS) )absolute_importN)deepcopy)gettext)CloudlinuxWposAdminparser)ON_OFF_IDENTIFIERS) ALL_SUITES) StatusSource)admin_cli_version_registry1czeZdZdZdZedgeddddfdged dddfgd ed ged ddfdgededfgd e eddZ edgedddfdgedddfgd ed ged ddfdgededfgd e dedede eddZ e deded e jvode jve d ed dde jvode jv!e ded"de d#ed$de d%ed&de ed'd(Ze ed)d*efd+Zed ged ddfdged,ddfgd e ed-d*efd.Zed ged ddfdgededfgd e ed/d*efd0Ze ed1d2Ze d3ed4dd5e6e d7ed8dd5e6e d9ed:dd5e6e d;ed<dd5e6e d=ed>d5e?e d@edAd5e?e dBd5edCDe dEedFd5Ge dHdIedJdKejDLe edMd*efdNZe dOedPed edQgedRddfdSgedTddfdUgedVddfdWgedXddfdYgedZddfd[gedZddfd\ged]ddfgd e deded[e jvpd\e jvpdYe jv e d^ed_d`eDae dbedceje ddedeejdfge dhediddje edkd*efdlZd5S)mCloudlinuxWposAdminV1a: We announced those commands in public doc as api-version=1, it means that we make any changes to CLI cautiously: - if you are making change which could break backward compatibility (e.g - rename parameter) -> you should create new class e.g CloudlinuxWposAdminV2 and override needed methods c6t|SN)versioned_parser parse_args)selfargvs #py/clwpos/cli_versions/admin_api.py _parse_argsz!CloudlinuxWposAdminV1._parse_args&s**4000z --disablezHide Object Cache PRO banners store_trueF)helpactiondefaultz--enablezShow Object Cache PRO bannersT)requiredz--allz#Argument for all users in the panel)rrz--usersz2Argument for user or list of comma separated users)rtypezJManage visibility of Resid Object Cache PRO banners in plugin for websites)rc.|iSr)_object_cache_bannerrs robject_cache_bannerz)CloudlinuxWposAdminV1.object_cache_banner)s( !!### rzEnable MAx CachezDisable MAx Cachez--userzArgument for single userz--domainzProcess only specified domain)rrrz Manage MAx Cache state for usersc*|Sr) _maxcacher s rmaxcachezCloudlinuxWposAdminV1.maxcache@s$~~rz%User or list of comma separated usersz--statuszEnable for all users)rrrzGet status of enablingz--ignore-errorsz=ignore ALL site check results after plugin install and enablez--skip-dns-checkzDignores ONLY website resolving check after plugin install and enablez:Enable optimization feature for specific user or all usersc*|Sr)_enable_featurer s renable_featurez$CloudlinuxWposAdminV1.enable_featureTs&##%%%rzPGet current statistics of AccelerateWP enabled sites and allowed user's featuresreturnc*|Sr) _get_statr s rget_statzCloudlinuxWposAdminV1.get_statis~~rzShow scan statusz>Create the report about allowed and restricted user's featuresc*|Sr)_generate_reportr s rgenerate_reportz%CloudlinuxWposAdminV1.generate_reportns$$&&&rz>Return the report about allowed and restricted user's featuresc*|Sr) _get_reportr s r get_reportz CloudlinuxWposAdminV1.get_reportys!!!rzReturn public optionsc*|Sr) _get_optionsr s r get_optionsz!CloudlinuxWposAdminV1.get_optionss  """rz--smart-advice-remindersz2Specify the SmartAdvice reminders activity settingN)rrrchoicesz--smart-advice-notificationsz6Specify the SmartAdvice notifications activity settingz--smart-advice-wordpress-pluginz6Automatic installation of WordPress SmartAdvice pluginz--object-cache-banner-visiblez3Specify visibility of Redis Object Cache Pro bannerz--icon-visiblez4Specify visibility of AccelerateWP icon to end-users)rrr5z--feature-visiblez:Specify visibility of AccelerateWP feature(s) to end-usersz --featuresz=Specify features to be visible or invisible (comma separated))rrz --upgrade-urlzXAn url to be shown when user need to update plan. Set option to empty string to disable.)rrz--suiteaccelerate_wp_premiumz1Specify for which suite "upgrade-url" must be setcg|]}|Sr8).0suites r z CloudlinuxWposAdminV1.sCCCeCCCr)rrr5zManage global optionsc*|Sr) _set_optionsr s r set_optionsz!CloudlinuxWposAdminV1.set_optionssN  """rz--suitesz4Argument for suite of list of comma separated suitesz --allowedzAllow suites for usersz --defaultz!Set default suite status for userz --disallowedzDisallow suites for usersz --visiblezMake suites visible for usersz--visible-for-allzAllow suites for all usersz--allowed-for-allz--disallowed-for-allzDisallow suites for all usersz--sourcez$Override the source of config changecg|] }|j Sr8)name)r9keys rr;z CloudlinuxWposAdminV1.s???3ch???r)rr5z--attrszhSet additional suite configuration options as json string, example: --attrs='{"tariff_limit": "100 GB"}'z--purchase-datez.Date when user payed for the service last timecftj|dS)Nz%Y-%m-%d)datetimestrptimedate)ss rzCloudlinuxWposAdminV1.s%H$5$>$>q*$M$M$R$R$T$Tr)rrrz--preserve-user-settingsz%Keep per-user settings without change)rrrz)Managing list of allowed suites for usersc*|Sr) _set_suiter s r set_suitezCloudlinuxWposAdminV1.set_suitesJ   r) __name__ __module__ __qualname____doc__rrmutual_exclusive_group_strcommandr!argumentr$sysrr'dictr+r.r1r4rr keysr>r jsonloadsrCrEtodayrJr8rrrrsf 111,,]a788L   !\a788L   !  -  ,,Y#H!I!IUabb c[11%Y#Z#Zdghh i  -11%q#r#rssts  &,,\AA&8$9$9\RR S]QQ':%;%;|TT U  -,,Y#H!I!IUabb cZ!!$>"?"?MM N  -z2Q0R0RY\glmm11%G#H#HII  JInm" yqq1X/Y/Y`c&ch6 >#-SX#=@@wQQ/E-F-F|(8 >#-SX#=@@z2J0K0KT`aa QN O O  QU V V 11%a#b#bcc&&dc  ba@@@@$& Qa b bdd $   dd ,,Y#H!I!IUabb c\AA&8$9$9\RR S  -11%e#f#fgg''''hg',,Y#H!I!IUabb c[11%Y#Z#Zdghh i  -11%e#f#fgg"D"""hg"11%<#=#=>>##?>#9!PQQ#!/ 11 =!TUU#!/ 11 @!TUU#!/ 11 >!QRR#!/ 11 /!RSS!/112!XYY!/11|!![\\^^QQ8`6a6a'+--y2I!OPPCC1B1BCCCEE11%<#=#=>>#T###?>EE--^^ 11 11 11 11 11 11L# QE F F   ,,]QQ'?%@%@LYY Z]QQ'J%K%KWcdd e *E(F(FR^__ `]QQ'F%G%GS_`` a! "QQ/K-L-LXd$e$e f! "QQ/K-L-LXd$e$e f$ %a788L Q Q S -  yqq1X/Y/Y`c0CH<@ 6#( B@ 3sx ?  z2X0Y0Y??,???AAyqq2\0]0]*&&0qq9i7j7j%]0022TTVV9Bi@j@jty(**11%P#Q#QRR!4!!!SR**VV&&AA    H!!!rr) __future__rrTrWrCcopyrclwposrrPclwpos.wpos_adminrrclwpos.constantsrclwpos.feature_suitesr $clwpos.feature_suites.configurationsr clwpos.cli_versions.registryr rregisterlatestrr8rrrds7'&&&&& 99999999//////,,,,,,======CCCCCC8F##$$S))""$$x!x!x!x!x!/x!x!%$*)x!x!x!r