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.216.92.5
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/setoptconf/source/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/setoptconf/source/filebased.py
import os.path

from copy import deepcopy

from ..config import Configuration
from .base import Source


__all__ = ("HomeDirectory", "ConfigDirectory", "FileBasedSource")


class DirectoryModifier(object):
    def __init__(self, target_file):
        self.target_file = target_file

    def __call__(self):
        raise NotImplementedError()


class HomeDirectory(DirectoryModifier):
    def __call__(self):
        return os.path.expanduser(os.path.join("~", self.target_file))


class ConfigDirectory(DirectoryModifier):
    def __call__(self):
        config_dir = os.getenv("XDG_CONFIG_HOME") or os.path.expanduser(
            os.path.join("~", ".config")
        )

        return os.path.join(config_dir, self.target_file)


class FileBasedSource(Source):
    def __init__(self, files, base_path=None, combine=False):
        super(FileBasedSource, self).__init__()

        if isinstance(files, (str, DirectoryModifier)):
            files = [files]
        elif not isinstance(files, (tuple, list)):
            raise TypeError("files must be a string or list of strings")

        self.files = []
        for target in files:
            if isinstance(target, str):
                self.files.append(target)
            elif isinstance(target, DirectoryModifier):
                self.files.append(target())
            else:
                raise TypeError("files must be a string or list of strings")

        self.base_path = base_path or os.getcwd()
        self.combine = combine

    def get_config(self, settings, manager=None, parent=None):
        parsed_settings = []

        for file_source in self.files:
            if os.path.isabs(file_source):
                file_path = file_source
            else:
                file_path = os.path.join(self.base_path, file_source)

            if os.path.exists(file_path):
                file_settings = self.get_settings_from_file(
                    file_path, deepcopy(settings), manager=manager
                )

                if file_settings:
                    parsed_settings.append(file_settings)

                    if not self.combine:
                        # No need to gather any more, we only want one.
                        break

        if parsed_settings:
            config = parent
            for parsed_setting in reversed(parsed_settings):
                config = Configuration(settings=parsed_setting, parent=config)

        else:
            config = Configuration(settings=settings, parent=parent)

        return config

    def get_settings_from_file(self, file_path, settings, manager=None):
        raise NotImplementedError()

Youez - 2016 - github.com/yon3zu
LinuXploit