HEX
Server: nginx/1.22.0
System: Linux iZuf6jdxbygmf6cco977lcZ 5.10.84-10.4.al8.x86_64 #1 SMP Tue Apr 12 12:31:07 CST 2022 x86_64
User: root (0)
PHP: 7.4.29
Disabled: passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen
Upload Files
File: //usr/local/aegis/PythonLoader/third_party/apacheconfig/__init__.py
# http://www.python.org/dev/peps/pep-0396/
__version__ = '0.3.2'

from contextlib import contextmanager

from apacheconfig import flavors  # noqa: F401
from apacheconfig.error import ApacheConfigError
from apacheconfig.lexer import make_lexer
from apacheconfig.loader import ApacheConfigLoader
from apacheconfig.parser import make_parser
from apacheconfig.wloader import ApacheConfigWritableLoader


@contextmanager
def make_loader(writable=False, **options):
    ApacheConfigLexer = make_lexer(**options)
    ApacheConfigParser = make_parser(**options)

    if writable:
        options["preservewhitespace"] = True
        yield ApacheConfigWritableLoader(
                ApacheConfigParser(ApacheConfigLexer(), start='contents'),
                **options)
    else:
        yield ApacheConfigLoader(ApacheConfigParser(ApacheConfigLexer()),
                                 **options)


__all__ = ['make_lexer', 'make_parser', 'make_loader',
           'ApacheConfigLoader', 'ApacheConfigError']