관리-도구
편집 파일: awp.py
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # https://cloudlinux.com/docs/LICENCE.TXT # import logging from clconfigure import run, task from clcommon.clwpos_lib import configure_accelerate_wp from clcommon.const import Feature from clcommon.cpapi import is_panel_feature_supported from clcommon.utils import is_ubuntu STATUS_ALLOWED_FOR_ALL = 'allowed_for_all' SUITE_AWP_FREE = 'accelerate_wp' @task("Enabling Accelerate WP") def enable_accelerate_wp_free(): """ Set AccelerateWP free suite """ if is_ubuntu(): logging.warning('AccelerateWP setup upon new server is skipped: Ubuntu is not supported') return if not is_panel_feature_supported(Feature.WPOS): logging.warning('AccelerateWP setup upon new server is skipped: Control Panel is not supported') return try: configure_accelerate_wp() except Exception: logging.exception('AccelerateWP configuration upon new server setup failed') # see reasoning in CLPRO-1924 logging.info('Turning off notifications and automatic WordPress plugin installation') run(['/usr/bin/cloudlinux-awp-admin', 'set-options', '--smart-advice-notifications', 'off', '--smart-advice-wordpress-plugin', 'off', '--smart-advice-reminders', 'off']) @task("Changing Accelerate WP suite {suite} status to {status}") def set_suite_status(suite: str, status: str): """ Set AccelerateWP suite to desired state. """ if status == STATUS_ALLOWED_FOR_ALL: run(['/usr/bin/cloudlinux-awp-admin', 'set-suite', '--suites', suite, '--allowed-for-all']) else: raise NotImplementedError(f"Currently not implemented status {status}")