Your IP : 18.227.13.219


Current Path : /bin/
Upload File :
Current File : //bin/clwpos-user

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

# cloudlinux-config Utility to check Cloudlinux config
#
# 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

from __future__ import absolute_import

import sys

from argparse import ArgumentParser
from clwpos.cli_versions import user_cli_version_registry
from clwpos.logsetup import init_wpos_sentry_safely
from clwpos.utils import error_and_exit, is_wpos_supported

from clwpos.parse import CustomFormatter


api_version_parser = ArgumentParser(
    "/usr/bin/clwpos-user",
    "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=user_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 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 = user_cli_version_registry.get_implementation(api_version)

    init_wpos_sentry_safely()

    cll = version_instance()
    return cll.run(args)


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