/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
xray
/
manager
/
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 import os from .base import BaseManager from .cpanel import CPanelManager from .custom import CustomManager from .directadmin import DirectAdminManager from .plesk import PleskManager from ..internal.utils import read_jwt_token def initialize_manager(system_id: str) -> 'Manager instance': """ Factory function for appropriate manager initialization :return: appropriate manager instance """ # check validity of JWT token as early as possible read_jwt_token() if os.path.isfile('/usr/local/cpanel/cpanel'): m = CPanelManager elif os.path.isfile('/usr/local/psa/version'): m = PleskManager elif os.path.isdir('/usr/local/directadmin') and os.path.isfile( '/usr/local/directadmin/custombuild/build'): m = DirectAdminManager else: m = CustomManager is_phpinfo_mode = os.path.exists('/opt/cloudlinux/flags/enabled-flags.d/' 'xray-per-domain-php-version-mode.flag') return m(system_id, phpinfo_mode=is_phpinfo_mode)