%PDF- %PDF-
| Direktori : /proc/thread-self/root/proc/self/root/lib/python2.7/site-packages/salt/utils/ |
| Current File : //proc/thread-self/root/proc/self/root/lib/python2.7/site-packages/salt/utils/configcomparer.pyo |
�
���^c @@ sB d Z d d l m Z m Z m Z d d l m Z d d � Z d S( u�
Utilities for comparing and updating configurations while keeping track of
changes in a way that can be easily reported in a state.
i ( t absolute_importt print_functiont unicode_literals( t sixu c C@ s� t | t � r� | s: | r6 i | d 6| d 6| | <n | St | t � se i | d 6| d 6| | <| Sxf t j | � D]U \ } } | } | r� d j | | � } n t | | j | d � | d | �| | <qu W| Sn�t | t � r�| s| ri | d 6| d 6| | <n | St | t � s:i | d 6| d 6| | <| Sx� t | � D]� \ } } d j | � } | r}d j | | � } n d } t
| � | k r�| | } n | r�t | | | | d | �| | <qGi | | d 6| d 6| | <| j | | � qGWt
| � t
| � k r�xt t | � D]f \ } }
| t
| � k rEq!n d j | � } | rod j | | � } n i d d 6|
d 6| | <q!W| t
| � 3n | Sn+ | | k r�i | d 6| d 6| | <n | Sd S( u�
Recursively compare two configs, writing any needed changes to the
update_config and capturing changes in the changes dict.
u newu oldu {0}.{1}t namespaceu [{0}]u {0}{1}N( t
isinstancet dictR t iteritemst formatt compare_and_update_configt gett Nonet listt enumeratet lent append( t configt
update_configt changesR t keyt valuet
_namespacet idxt itemt _updatet old_item( ( s= /usr/lib/python2.7/site-packages/salt/utils/configcomparer.pyR s�
N( t __doc__t
__future__R R R t salt.extR R ( ( ( s= /usr/lib/python2.7/site-packages/salt/utils/configcomparer.pyt <module> s