
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
٥c                 @   s*   d dl Z d dlZd dlZG dd dZdS )    Nc               @   s>   e Zd ZdZejdZejdZdd Zdd Z	ddd	Z
d
S )ConfigSnippetFz\${\??(?P<key>[\w-]*)}z\${\?[\w-]*}c          	   C   s*   t |d}|j | _W d Q R X || _d S )Nr)openreadtemplatedestination)selfr   r   f r
   ./usr/lib/python3.6/authcompat_ConfigSnippet.py__init__!   s    zConfigSnippet.__init__c       
      C   s   | j jd}g }xTt|D ]H\}}x>| jj|D ].}|jd}||ksR|| d kr0|j| P q0W qW xt|ddD ]
}||= qtW dj|}| j	j
d|}xF|j D ]:\}}	|	d krqt|	tkr|	rdnd}	|jd| |	}qW |S )	N
keyT)reverse trueZfalsez${%s})r   split	enumerate	AllKeysREfinditergroupappendsortedjoinDummyKeysREsubitemstypeboolreplace)
r   valueslinesremoveidxlinematchr   outputvaluer
   r
   r   generate'   s&    




zConfigSnippet.generatec             C   s   | j |}| jr8td| j  t| td| j  d S tjj| j}tjj|sytj| W n> t	k
r } z"|j
t
jkrtjj|rn W Y d d }~X nX t| jd}|j| W d Q R X d S )Nz+========== BEGIN Content of [%s] ==========z,========== END   Content of [%s] ==========
w)r(   TESTprintr   ospathdirnameexistsmakedirsOSErrorerrnoZEEXISTisdirr   write)r   r    Z	to_stdoutr&   r.   Z	exceptionr	   r
   r
   r   r4   H   s     
zConfigSnippet.writeN)F)__name__
__module____qualname__r*   recompiler   r   r   r(   r4   r
   r
   r
   r   r      s   

!r   )r2   r,   r8   r   r
   r
   r
   r   <module>   s   