????

Your IP : 3.143.5.131


Current Path : /usr/bin/
Upload File :
Current File : //usr/bin/clwpos-admin

#!/opt/cloudlinux/venv/bin/python3 -bb
# -*- coding: utf-8 -*-

# clwpos-admin Utility to control Cloudlinux WP Optimization tool
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2020 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

from __future__ import absolute_import

import sys

from argparse import ArgumentParser
from clwpos.cli_versions import admin_cli_version_registry
from clwpos.utils import error_and_exit, is_run_under_user, is_wpos_supported
from clwpos.parse import CustomFormatter


api_version_parser = ArgumentParser(
    "/usr/bin/clwpos-admin",
    "Utility for control CL AccelerateWP admin interface",
    formatter_class=CustomFormatter,
    allow_abbrev=False,
    add_help=False
)

api_version_parser.add_argument('--api-version',
                                required=False,
                                default=None,
                                type=str,
                                choices=admin_cli_version_registry.get_all_versions(),
                                help='Specify version of CLI, if not passed - latest will be used by default')

def main():
    """
    Main run function
    """
    if is_run_under_user():
        error_and_exit(True, {'result': f'{sys.argv[0]} utility should be run only under root'})
    if not is_wpos_supported():
        error_and_exit(
            True,
            {'result': f'Unable to run {sys.argv[0]} utility, '
                        'AccelerateWP is supported only on CloudLinux Shared Pro/Solo OS/OS Admin with cPanel'},
        )

    parsed, args = api_version_parser.parse_known_args()
    api_version = parsed.api_version

    version_instance = admin_cli_version_registry.get_implementation(api_version)
    cwc = version_instance()
    return cwc.run(args)


if __name__ == "__main__":
    sys.exit(main())