ó
E®Uc           @   sŠ   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 g d „ Z d d g d „ Z d „  Z d S(   s/   Functions for setting up a Samba configuration.t   restructuredTextiÿÿÿÿN(   t   read_and_sub_file(   t	   setup_dirt   FULLt	   SUBDOMAINt   NT4SYNCt   DRSc         C   s   t  j j t ƒ  |  ƒ S(   sG   Return an absolute path to the provision tempate file specified by file(   t   ost   patht   joinR   (   t   file(    (    s:   /usr/lib/python2.7/dist-packages/samba/provision/common.pyt
   setup_path(   s    s   relax:0c         C   s8   t  | t ƒ s t ‚ t | | ƒ } |  j | | ƒ d S(   s  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 subsitute in LDIF.
    :param nocontrols: Optional list of controls, can be None for no controls
    N(   t
   isinstancet   strt   AssertionErrorR   t   add_ldif(   t   ldbt	   ldif_patht
   subst_varst   controlst   data(    (    s:   /usr/lib/python2.7/dist-packages/samba/provision/common.pyt   setup_add_ldif-   s    c         C   s#   t  | | ƒ } |  j | | ƒ d S(   s°   Modify a ldb in the private dir.

    :param ldb: LDB object.
    :param ldif_path: LDIF file path.
    :param subst_vars: Optional dictionary with substitution variables.
    N(   R   t   modify_ldif(   R   R   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/samba/provision/common.pyt   setup_modify_ldif:   s    c         C   sU   |  d k	 s t ‚ |  j ƒ  y t |  | | ƒ Wn |  j ƒ  ‚  n X|  j ƒ  d S(   s6  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(   t   NoneR   t   transaction_startR   t   transaction_cancelt   transaction_commit(   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/samba/provision/common.pyt	   setup_ldbE   s    


(   t   __doc__t   __docformat__R   t   sambaR   t   samba.paramR   t	   FILL_FULLt   FILL_SUBDOMAINt   FILL_NT4SYNCt   FILL_DRSR   R   R   R   R   (    (    (    s:   /usr/lib/python2.7/dist-packages/samba/provision/common.pyt   <module>   s   	