/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
clwpos
/
cli_versions
/
Upload Filee
HOME
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT # keeps different API_VERSIONS of cloudlinux-awp-admin utility from __future__ import absolute_import import sys import argparse from copy import deepcopy from clwpos import gettext as _ from clwpos.user.wpos_user import CloudlinuxWposUser, parser from clwpos.cli_versions.registry import user_cli_version_registry from clwpos.optimization_features import ALL_OPTIMIZATION_FEATURES, Feature versioned_parser = deepcopy(parser) @user_cli_version_registry.register('1') @user_cli_version_registry.latest() class CloudlinuxWposUserV1(CloudlinuxWposUser): """ 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 """ def _parse_args(self, argv): return versioned_parser.parse_args(argv) @versioned_parser.command(help=_("Shows info about all Accelerate optimization features for WordPress sites")) def get(self): return self._get() @versioned_parser.argument("--feature", help=_("Optimization feature to disable"), type=Feature, required=True, choices=[feature.to_interface_name() for feature in ALL_OPTIMIZATION_FEATURES]) @versioned_parser.argument('--wp-path', help=_('Path to user\'s wordpress'), type=str, default='') @versioned_parser.argument('--domain', help=_('User\'s wordpress domain'), type=str, required=True) @versioned_parser.command(help=_('Disables and uninstalls module on wordpress')) def disable(self): return self._disable() @versioned_parser.argument( "--ignore-errors", help=_("ignore ALL site check results after plugin install and enable"), action="store_true", ) @versioned_parser.argument( '--skip-dns-check', help=_('ignores ONLY website resolving check after plugin install and enable'), action='store_true' ) @versioned_parser.argument("--wp-path", help=_("Path to user's wordpress"), type=str, default="") @versioned_parser.argument("--domain", help=_("User's wordpress domain"), type=str, required=True) @versioned_parser.argument("--feature", help=_("Optimization feature to enable"), type=Feature, required=True, choices=[feature.to_interface_name() for feature in ALL_OPTIMIZATION_FEATURES]) @versioned_parser.argument("--approve-license-terms", help=argparse.SUPPRESS, action='store_true', default=False) @versioned_parser.command(help=_("Installs and enables module on wordpress")) def enable(self): return self._enable() @versioned_parser.mutual_exclusive_group( [ (["--disable"], {"help": _("Hide Object Cache PRO banners"), "action": "store_true", "default": False}), (["--enable"], {"help": _("Show Object Cache PRO banners"), "action": "store_true", "default": False}), ], required=True, ) @versioned_parser.argument("--all", help=_("For all websites"), action='store_true', required=("--wp-path" not in sys.argv and '--domain' not in sys.argv)) @versioned_parser.argument('--wp-path', help=_('Path to WordPress'), type=str, default='', required=("--all" not in sys.argv)) @versioned_parser.argument('--domain', help=_('WordPress domain'), type=str, required=("--all" not in sys.argv)) @versioned_parser.command(help=_("Manage visibility of Object Cache PRO banners in plugin for websites")) def object_cache_banner(self): return self._object_cache_banner()