B
    ê¹`	  ã               @   s@   d Z ddlmZ ddlmZ dd„ Zdd„ Zd	d
„ Zdd„ ZdS )z:Helper routines for checking a PGWUI component's settings
é    )Úliteral_evalé   )Ú
exceptionsc          	   C   s6   g }x,|D ]$}||kr
|  t d | |¡¡¡ q
W |S )Nz{}:{})Úappendr   ZMissingSettingErrorÚformat)Ú	componentZrequired_settingsÚconfÚerrorsÚsetting© r   ú]/home/kop/projects/devel/pgwui/test_venv/lib/python3.7/site-packages/pgwui_common/checkset.pyÚrequire_settings   s    
r   c          	   C   s6   g }x,|D ]$}||kr
|  t d | |¡¡¡ q
W |S )Nz{}:{})r   r   ZUnknownSettingKeyErrorr   )r   Úsettingsr   r	   r
   r   r   r   Úunknown_settings'   s    
r   c          	   C   sv   g }xl|D ]d}||kr
yt || ƒ}W n tk
r>   d }Y nX |dk	r
|dk	r
| t d | |¡|| ¡¡ q
W |S )NTFz{}:{})r   Ú
ValueErrorr   r   ZNotBooleanSettingErrorr   )r   Zbooleansr   r	   r
   Úvalr   r   r   Úboolean_settings0   s    

r   c             C   sJ   g }x@|D ]8}||kr
|| dkr
|  t | › d|› || ¡¡ q
W |S )N)z
yes-alwaysz
choice-yesz	choice-nozno-neverú:)r   r   ZNotBooleanChoiceSettingError)r   r   r   r	   r
   r   r   r   Úboolean_choice?   s    
r   N)	Ú__doc__Úastr   Ú r   r   r   r   r   r   r   r   r   Ú<module>   s   		