
    Idt                     h    d dl mZ d dl mZ d dlmZ 	 d dlZd Zd Z
d Zy# e$ r
 d dl	Z	d ZY w xY w)	    )list_gp_extensions)gp_ext)logNc                     t         j                  j                  | |      }t         j                  j                  |      }|j                  j                  |       |S N)	importlibutilspec_from_file_locationmodule_from_specloaderexec_module)namelocationspecmodules       8/usr/lib/python3/dist-packages/samba/gp/gp_ext_loader.pyimport_filer      sC    ~~55dHE006'    c                 .    t        j                  | |      S r   )impload_source)r   r   s     r   r   r       s    tX..r   c                 ~    |r;t        |      j                         D ]  \  }}|| k(  st        |t              s|c S  y r   )varsitems
issubclassr   )r   modkvs       r   get_gp_ext_from_moduler   $   s=    
IOO% 	DAqDyZ62	 r   c                    g }g }t        |       }|j                         D ]  }t        |d   |d         }t        |d   |      }|r>|d   r9|j	                  |       t        j                  d|d   d|j                         |sg|d   sm|j	                  |       t        j                  d|d   d|j                          ||fS )NProcessGroupPolicyDllNameMachinePolicyzLoaded machine extension from z: 
UserPolicyzLoaded user extension from )r   valuesr   r   appendr   info__name__)smb_conf	user_extsmachine_extsgp_extsr   r   exts          r   get_gp_client_side_extensionsr.   ,   s    IL *G.." 
:V$896);LM$V,@%A6J6/*$HHy)3<<9 :6,'S!HHy)3<<9 :
: )$$r   )samba.gp.gpclassr   r   samba.gp.util.loggingr   importlib.utilr   r   ImportErrorr   r   r.    r   r   <module>r4      s@   " 0 # %/%  ///s   " 11