PHP 8.2.30
Preview: configfile.py Size: 978 B
/opt/cloudlinux/venv/lib/python3.11/site-packages/setoptconf/source/configfile.py

from configparser import ConfigParser

from ..setting import ListSetting
from ..util import csv_to_list
from .filebased import FileBasedSource


__all__ = ("ConfigFileSource",)


class ConfigFileSource(FileBasedSource):
    def __init__(self, *args, **kwargs):
        self.section = kwargs.pop("section", None)
        super(ConfigFileSource, self).__init__(*args, **kwargs)

    def get_settings_from_file(self, file_path, settings, manager=None):
        section = self.section or manager.name.lower()

        parser = ConfigParser()
        parser.read(file_path)

        if not parser.has_section(section):
            return None

        for setting in settings:
            if parser.has_option(section, setting.name):
                opt = parser.get(section, setting.name)
                if isinstance(setting, ListSetting):
                    setting.value = csv_to_list(opt)
                else:
                    setting.value = opt

        return settings

Directory Contents

Dirs: 1 × Files: 10

Name Size Perms Modified Actions
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
145 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.98 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
978 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1001 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.58 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
847 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
492 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.67 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
853 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
337 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).