File: //opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/lib/__pycache__/reprconf.cpython-310.pyc
o
�N�g`0 � @ s� d Z ddlZddlZddlZddlZddlmZ G dd� de�ZG dd� de�Z G dd � d ej
�ZG d
d� d�Zdd
� Z
dd� Zdd� ZdS )a� Generic configuration system using unrepr.
Configuration data may be supplied as a Python dictionary, as a filename,
or as an open file object. When you supply a filename or file, Python's
builtin ConfigParser is used (with some extensions).
Namespaces
----------
Configuration keys are separated into namespaces by the first "." in the key.
The only key that cannot exist in a namespace is the "environment" entry.
This special entry 'imports' other config entries from a template stored in
the Config.environments dict.
You can define your own namespaces to be called when new config is merged
by adding a named handler to Config.namespaces. The name can be any string,
and the handler must be either a callable or a context manager.
� N)�
text_or_bytesc @ s, e Zd ZdZdd� Zdd� Zdd� ZeZdS ) �NamespaceSeta2 A dict of config namespace names and handlers.
Each config entry should begin with a namespace name; the corresponding
namespace handler will be called once for each config entry in that
namespace, and will be passed two arguments: the config key (with the
namespace removed) and the config value.
Namespace handlers may be any Python callable; they may also be
context managers, in which case their __enter__
method should return a callable to be used as the handler.
See cherrypy.tools (the Toolbox class) for an example.
c C s i }|D ]}d|v r|� dd�\}}|�|i �}|| ||<