<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    `8ab                     @   sH   d dl mZ ddlmZ ddlmZ ddlmZ dZG dd de	Z
d	S )
    )deepcopy   )Configuration)Setting)Source)ConfigurationManagerc                   @   s$   e Zd Zdd Zdd Zdd ZdS )r   c                 C   s   || _ g | _d S )N)namesettings)selfr    r   H/home/carl/code/landscape/setoptconf-tmp/build/lib/setoptconf/manager.py__init__   s    zConfigurationManager.__init__c                 C   s$   t |tr| j| ntdd S )Nz$Can only add objects of type Setting)
isinstancer   r	   append	TypeError)r
   settingr   r   r   add   s    
zConfigurationManager.addc                 G   s   g }t |D ]D}t|tr&|| qt|trHt|trH||  qtdqt| jd}|D ]}|j	t
| j| |d}qb|  |S )NzAll sources must be a Source)r	   )managerparent)reversedr   r   r   type
issubclassr   r   r	   Z
get_configr   validate)r
   sourcesZ
to_processsourceconfigr   r   r   retrieve   s    

zConfigurationManager.retrieveN)__name__
__module____qualname__r   r   r   r   r   r   r   r      s   r   N)copyr   r   r   r   r   Zsource.baser   __all__objectr   r   r   r   r   <module>   s
   