
    Id                     R    d dl mZmZmZmZmZmZmZmZ eeeeeeedZ	d Z
d Zd Zy)    )DS_DOMAIN_FUNCTION_2000DS_DOMAIN_FUNCTION_2003DS_DOMAIN_FUNCTION_2008DS_DOMAIN_FUNCTION_2008_R2DS_DOMAIN_FUNCTION_2012DS_DOMAIN_FUNCTION_2012_R2DS_DOMAIN_FUNCTION_2003_MIXEDDS_DOMAIN_FUNCTION_2016)2000200320082008_R220122012_R22016c                     t         |    S )z1Interpret a string indicating a functional level.)string_version_to_constant)strings    8/usr/lib/python3/dist-packages/samba/functional_level.pystring_to_levelr   *   s    %f--    c                     | t         k  ryt         dt        dt        dt        dt        dt
        dt        dt        d	i}|j                  | d
      S )z3turn the level enum number into a printable string.invalidr   z02003 with mixed domains/interim (NT4 DC support)r   r   z2008 R2r   z2012 R2r   zhigher than 2016)	r   r	   r   r   r   r   r   r
   get)levelstringss     r   level_to_stringr   /   sR    &&%>"I"I
G ;;u011r   c                     | j                  d      }|t        d      	 t        |      S # t        $ r t        d| d      w xY w)z?Return the ad dc functional level as an integer from a LoadParmzad dc functional levelz2'ad dc functional level' in smb.conf unrecognised!z'ad dc functional level = z' in smb.conf is not valid!)r   RuntimeErrorr   KeyError)lpsmb_conf_dc_functional_levels     r   dc_level_from_lpr#   @   sk     $&66*B#C #+ OQQ9;<< 9 78T7U V8 8 9 	9	9s	   
+ AN)
samba.dsdbr   r   r   r   r   r   r	   r
   r   r   r   r#    r   r   <module>r&      sB   (	 	 	 $##)#)# .
2"9r   