
    b                     ^    d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	  G d de          Z
dS )    N)
gp_xml_ext)NamedTemporaryFile)PopenPIPE)logc                        e Zd Zd Zd Zd ZdS )vgp_symlink_extc                     dS )Nz VGP/Unix Settings/Symbolic Links )selfs    :/usr/lib/python3/dist-packages/samba/gp/vgp_symlink_ext.py__str__zvgp_symlink_ext.__str__   s    11    c                    |D ]\  }}| j                             |           t          |           |v r|t          |                                                    D ]`\  }}t          j                            |          rt	          j        |           | j                             t          |           |           a| j         	                                 |D ]}|j
        r| j                             |j                   d}t          j                            |j
        |          }	|                     |	          }
|
si|
                    d          }|                    d          }|                    d          D ]}|                    d          j        }|                    d          j        }|d|}| j                             t          |           |          }|sst          j                            |          s?t	          j        ||           | j                             t          |           ||           nt)          j        d|           | j         	                                 d S )	N*MACHINE/VGP/VTLA/Unix/Symlink/manifest.xmlpolicysettingdatafile_propertiessourcetarget:zSymlink destination exists)gp_dbset_guidstritemsospathexistsunlinkdeletecommitfile_sys_pathnamejoinparsefindfindalltextretrievesymlinkstorer   warn)r   deleted_gpo_listchanged_gpo_listguidsettings	attributer*   gpoxmlr   xml_confpolicyr   entryr   r   old_vals                    r   process_group_policyz$vgp_symlink_ext.process_group_policy   sM   . 	  	 ND(J%%%4yyH$$*23t99*=*C*C*E*E < <&Iww~~g.. +	'***J%%c$ii;;;;J# 	( 	(C  (
##CH---Bw||C$5s;;::d++ !77{{6**!\\*;<< ( (E"ZZ116F"ZZ116F+16666 :I"j11#d))YGGG" K!w~~f55 KJvv666 J,,SYY	6JJJJH%A6JJJJ%%''''+	( 	(r   c                 L   i }d}|j         rt          j                            |j         |          }|                     |          }|s|S |                    d          }|                    d          }|                    d          D ]}|                    d          j        }	|                    d          j        }
t          |           |	                                vrg |t          |           <   |t          |                    
                    d|	d|
           |S )	Nr   r   r   r   r   r   zln -s  )r"   r   r   r$   r%   r&   r'   r(   r   keysappend)r   r2   outputr3   r   r4   r5   r   r6   r   r   s              r   rsopzvgp_symlink_ext.rsop<   s   : 	K7<< 1377Dzz$''H ]]?33F;;v&&D&788 K KH--2H--2t99FKKMM11(*F3t99%s4yy!(((&&&&&)IJJJJr   N)__name__
__module____qualname__r   r8   r>   r   r   r   r	   r	      sB        2 2 2( ( (B    r   r	   )r   samba.gp.gpclassr   tempfiler   
subprocessr   r   samba.gp.util.loggingr   r	   r   r   r   <module>rF      s   " 
			 ' ' ' ' ' ' ' ' ' ' ' ' " " " " " " " " % % % % % %5 5 5 5 5j 5 5 5 5 5r   