| Server IP : 142.11.234.102 / Your IP : 216.73.216.24 Web Server : Apache System : Linux dal-shared-66.hostwindsdns.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 : krnuyqrm ( 1183) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/opt/cloudlinux/venv/lib/python3.11/site-packages/ssa/configuration/ |
Upload File : |
import json
from urllib.request import urlopen
from schema import Schema
from .parser import SSAConfigParser
from .validation import validate
from ..internal.exceptions import SSAError
def load_parser() -> SSAConfigParser:
"""
Create parser and load configuration
:return: parser
"""
conf = SSAConfigParser()
conf.read_ssa_conf()
return conf
def load_validated_parser() -> SSAConfigParser:
"""
Create parser, load configuration, validate it
:return: parser
"""
conf = load_parser()
_ = validate(dict(conf.items()))
return conf
def load_configuration() -> dict:
"""
Load and validate configuration
"""
conf = load_parser()
return validate(dict(conf.items()))
def load_tunables(external_source: str, scheme: Schema) -> dict:
"""
Load values from remote JSON config or
default values in case of troubles
"""
cfg_location = f"https://repo.cloudlinux.com/cloudlinux/sources/da/{external_source}"
try:
with urlopen(cfg_location) as cfg:
return validate(json.load(cfg), scheme)
except (OSError, json.JSONDecodeError, SSAError):
return validate(dict(), scheme)