| Server IP : 109.234.162.214 / Your IP : 216.73.216.34 Web Server : Apache System : Linux servd162214.srv.odns.fr 4.18.0-372.26.1.lve.1.el8.x86_64 #1 SMP Fri Sep 16 14:08:19 EDT 2022 x86_64 User : carpe ( 1178) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /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)