%PDF- %PDF-
Direktori : /lib/python2.7/site-packages/salt/utils/ |
Current File : //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