D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
proc
/
self
/
root
/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
clconfigure
/
Filename :
awp.py
back
Copy
# 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}")