
    h                     X    d Z dZddlZddlmZ ddlmZ dZdZdZ	d	Z
d
 ZddZddZd Zy)z/Functions for setting up a Samba configuration.restructuredText    N)read_and_sub_file)	setup_dirFULL	SUBDOMAINNT4SYNCDRSc                     t         j                  j                  t               |       }t         j                  j	                  |      st        d|z        |S )zHReturn an absolute path to the provision template file specified by filez>File [%s] not found. Please install samba-ad-provision package)ospathjoinr   exists	Exception)filer   s     8/usr/lib/python3/dist-packages/samba/provision/common.py
setup_pathr   (   s?    77<<	T*D77>>$X[__``K    c                 n    |dg}t        |t              sJ t        ||      }| j                  ||       y)a  Setup a ldb in the private dir.

    :param ldb: LDB file to import data into
    :param ldif_path: Path of the LDIF file to load
    :param subst_vars: Optional variables to substitute in LDIF.
    :param nocontrols: Optional list of controls, can be None for no controls
    Nrelax:0)
isinstancestrr   add_ldifldb	ldif_path
subst_varscontrolsdatas        r   setup_add_ldifr   0   s;     ;i%%%Y
3DLLx r   c                 J    |dg}t        ||      }| j                  ||       y)zModify a ldb in the private dir.

    :param ldb: LDB object.
    :param ldif_path: LDIF file path.
    :param subst_vars: Optional dictionary with substitution variables.
    Nr   )r   modify_ldifr   s        r   setup_modify_ldifr"   ?   s+     ;Y
3DOOD(#r   c                     | J | j                          	 t        | ||       | j                          y#  | j                           xY w)a6  Import a LDIF a file into a LDB handle, optionally substituting
    variables.

    :note: Either all LDIF data will be added or none (using transactions).

    :param ldb: LDB file to import into.
    :param ldif_path: Path to the LDIF file.
    :param subst_vars: Dictionary with substitution variables.
    N)transaction_startr   transaction_committransaction_cancel)r   r   r   s      r   	setup_ldbr'   L   sO     ??!sIz2
 	 	 s	   4 A)NN)__doc____docformat__r   sambar   samba.paramr   	FILL_FULLFILL_SUBDOMAINFILL_NT4SYNCFILL_DRSr   r   r"   r'    r   r   <module>r1      s@   4 6" 	 # !	!
$!r   