Server IP : 192.64.118.117 / Your IP : 3.16.48.173 Web Server : LiteSpeed System : Linux premium56.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : thecgapy ( 1160) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clcommon/public_hooks/lib/ |
Upload File : |
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2022 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT # import glob import importlib.util import os import sys from .helpers import LISTENERS_DIRECTORY from .modify_domain_hook import ModifyDomainHook from .modify_admin_hook import ModifyAdminHook from .modify_user_hook import ModifyUserHook from .modify_package_hook import ModifyPackageHook def import_file(filepath): # Fast path: see if the module has already been imported. name = os.path.basename(filepath)[:-3] if name in sys.modules: return sys.modules[name] # If any of the following calls raises an exception, # there's a problem we can't handle -- let the caller handle it. module_spec = importlib.util.spec_from_file_location(name, filepath) if module_spec is None: raise ImportError(f"Can't find module {name} at {filepath}") # Load the module, potentially raising ImportError if the module cannot be loaded module = importlib.util.module_from_spec(module_spec) module_spec.loader.exec_module(module) # Add the module to sys.modules sys.modules[name] = module return module # automatically scan directory for universal hooks for hook_py in glob.glob(os.path.join(LISTENERS_DIRECTORY, '*.py')): import_file(hook_py) __all__ = ( 'ModifyDomainHook', 'ModifyAdminHook', 'ModifyUserHook', 'ModifyPackageHook', )