
    b                        d dl mZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZ  G d de          Z G d d	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )    )sitessubnets)SamDBN)system_session)CommandCommandErrorSuperCommandOptionc                   v    e Zd ZdZdZdgZej        ej        ej	        dZ
 edddedd	
          gZ	 	 ddZdS )cmd_sites_createzCreate a new site.%prog <site> [options]sitename	sambaoptsversionoptscredopts-H--URL%LDB URL for database or target serverURLHhelptypemetavardestNc           	         |                                 }|                    |d          }t          |t                      ||          }|                                 	 t          j        ||                                |           |                                 nM# t
          j	        $ r;}	|
                                 t          d|dt          |	                    d }	~	ww xY w| j                            d|z             d S )NTfallback_machineurlsession_infocredentialslpzError while creating site 	, error: zSite %s created !
)get_loadparmget_credentialsr   r   transaction_startr   create_siteget_config_basedntransaction_commitSiteAlreadyExistsExceptiontransaction_cancelr   stroutfwrite
selfr   r   r   r   r   r$   credssamdbes
             4/usr/lib/python3/dist-packages/samba/netcmd/sites.pyrunzcmd_sites_create.run1   s   ##%%((d(CC!.*:*:"'B0 0 0 	!!!	3eU%<%<%>%>III$$&&&&/ 	3 	3 	3$$&&&, (#a&&& 2 3 3 3	3
 		-899999    <B C',6C""C'NNNN__name__
__module____qualname____doc__synopsis
takes_argsoptionsSambaOptionsVersionOptionsCredentialsOptionstakes_optiongroupsr
   r.   takes_optionsr7        r6   r   r      s        'HJ )-.  	tW#JS	2 	2 	2M
 >B: : : : : :rH   r   c                   v    e Zd ZdZdZdgZej        ej        ej	        dZ
 edddedd	
          gZ	 	 ddZdS )cmd_sites_deletezDelete an existing site.r   r   r   r   r   r   r   r   r   Nc           	         |                                 }|                    |d          }t          |t                      ||          }|                                 	 t          j        ||                                |           |                                 nM# t
          j	        $ r;}	|
                                 t          d|dt          |	                    d }	~	ww xY w| j                            d|z             d S )NTr   r    zError while removing site r%   zSite %s removed!
)r&   r'   r   r   r(   r   delete_siter*   r+   SiteExceptionr-   r   r.   r/   r0   r1   s
             r6   r7   zcmd_sites_delete.runV   s#   ##%%((d(CC!.*:*:"'B0 0 0 	!!!	PeU%<%<%>%>III$$&&&&" 	P 	P 	P$$&&&,=EXXs1vvvNP P P	P
 		,x788888r8   r9   r:   rG   rH   r6   rJ   rJ   D   s        ""'HJ )-.  	tW#JS	2 	2 	2M
 >B9 9 9 9 9 9rH   rJ   c                   x    e Zd ZdZdZddgZej        ej        ej	        dZ
 eddded	d
          gZ	 	 ddZdS )cmd_sites_subnet_createzCreate a new subnet.)%prog <subnet> <site-of-subnet> [options]
subnetnamesite_of_subnetr   r   r   r   r   r   r   Nc                    |                                 }|                    |          }t          |t                      ||          }	|	                                 	 t          j        |	|	                                ||           |	                                 n@# t
          j	        $ r.}
|	
                                 t          d|d|
          d }
~
ww xY w| j                            d|z             d S )Nr    zError while creating subnet : zSubnet %s created !
)r&   r'   r   r   r(   r   create_subnetr*   r+   SubnetExceptionr-   r   r/   r0   r2   rQ   rR   r   r   r   r   r$   r3   r4   r5   s              r6   r7   zcmd_sites_subnet_create.runy   s   ##%%((,,!.*:*:"'B0 0 0 	!!!	0!%)@)@)B)BJ"02 2 2$$&&&&& 	0 	0 	0$$&&&, *

AA / 0 0 0	0
 		/*<=====s   =B C+)CCr9   r:   rG   rH   r6   rO   rO   i   s        :H 01J )-.  	tW#JS	2 	2 	2M
 AE'+> > > > > >rH   rO   c                   v    e Zd ZdZdZdgZej        ej        ej	        dZ
 edddedd	
          gZ	 	 ddZdS )cmd_sites_subnet_deletezDelete an existing subnet.z%prog <subnet> [options]rQ   r   r   r   r   r   r   r   Nc                    |                                 }|                    |          }t          |t                      ||          }|                                 	 t          j        ||                                |           |                                 n@# t
          j	        $ r.}	|
                                 t          d|d|	          d }	~	ww xY w| j                            d|z             d S )Nr    zError while removing subnet r%   zSubnet %s removed!
)r&   r'   r   r   r(   r   delete_subnetr*   r+   rV   r-   r   r/   r0   )
r2   rQ   r   r   r   r   r$   r3   r4   r5   s
             r6   r7   zcmd_sites_subnet_delete.run   s   ##%%((,,!.*:*:"'B0 0 0 	!!!	0!%)@)@)B)BJOOO$$&&&&& 	0 	0 	0$$&&&, *

AA / 0 0 0	0
 		.;<<<<<s   <B C*)CCr9   r:   rG   rH   r6   rY   rY      s        $$)HJ )-.  	tW#JS	2 	2 	2M
 @D= = = = = =rH   rY   c                   x    e Zd ZdZdZddgZej        ej        ej	        dZ
 eddded	d
          gZ	 	 ddZdS )cmd_sites_subnet_set_sitezAssign a subnet to a site.rP   rQ   rR   r   r   r   r   r   r   r   Nc           	         |                                 }|                    |          }t          |t                      ||          }	|	                                 	 t          j        |	|	                                ||           |	                                 nC# t
          j	        $ r1}
|	
                                 t          d|d|d|
          d }
~
ww xY wt          d|d|| j                   d S )Nr    zError assigning subnet z	 to site rT   zSubnet z shifted to site )file)r&   r'   r   r   r(   r   set_subnet_siter*   r+   rV   r-   r   printr/   rW   s              r6   r7   zcmd_sites_subnet_set_site.run   sD   ##%%((,,!.*:*:"'B0 0 0 	!!!	@#E5+B+B+D+D$.@ @ @$$&&&&& 	@ 	@ 	@$$&&&, *

NNNAA ? @ @ @	@
 	

NN,379	> 	> 	> 	> 	> 	>s   =B C+,CCr9   r:   rG   rH   r6   r]   r]      s        $$:H 01J )-.  	tW#JS	2 	2 	2M
 AE'+> > > > > >rH   r]   c                   N    e Zd ZdZ e             e             e            dZdS )cmd_sites_subnetzSubnet management subcommands.)createremovezset-siteN)r;   r<   r=   r>   rO   rY   r]   subcommandsrG   rH   r6   rc   rc      sD        (())++))++--// KKKrH   rc   c                   d    e Zd ZdZi Z e            ed<    e            ed<    e            ed<   dS )	cmd_siteszSites management.rd   re   subnetN)r;   r<   r=   r>   rf   r   rJ   rc   rG   rH   r6   rh   rh      sT        K,,..K,,..K,,..KrH   rh   )sambar   r   samba.samdbr   samba.getoptgetoptrA   
samba.authr   samba.netcmdr   r   r	   r
   r   rJ   rO   rY   r]   rc   rh   rG   rH   r6   <module>rp      s  & !                           % % % % % %           ": ": ": ": ":w ": ": ":J"9 "9 "9 "9 "9w "9 "9 "9J!> !> !> !> !>g !> !> !>H"= "= "= "= "=g "= "= "=J"> "> "> "> "> "> "> ">J    |   / / / / / / / / / /rH   