
    g*                     F   S SK Jr  S SKJrJr  S SKJrJr  S SK	J
r
  S SKJrJrJrJr   " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)    N)sitessubnets)SiteSubnet)
ModelError)CommandCommandErrorOptionSuperCommandc                       \ rS rSrSrSr\R                  \R                  \R                  \R                  S.r\" SSSSS	S
9/r  SS jrSrg)cmd_sites_list   zList sites.z%prog [options]	sambaoptsversionoptscredoptshostopts--jsonOutput results in JSON format.output_formatstore_constjsonhelpdestactionconstNc                    U R                  XU5      n [        R                  " U5       Vs0 s H  nUR                  UR	                  5       _M      nnUS:X  a  U R                  U5        g UR                  5        H!  nU R                  R                  U S35        M#     g s  snf ! [
         a  n	[        U	5      eS n	A	ff = f)Nr   
)ldb_connectr   querycnas_dictr   r	   
print_jsonkeysoutfwrite)
selfr   r   r   r   r   ldbsite
sites_dictes
             4/usr/lib/python3/dist-packages/samba/netcmd/sites.pyruncmd_sites_list.run+   s     xH=	"&*jjo7&5d ''4<<>1&5  7 F"OOJ'")		4&, *7 	"q/!	"s(   B& %B!B& !B& &
C 0B;;C  NNNNN)__name__
__module____qualname____firstlineno____doc__synopsisoptionsSambaOptionsVersionOptionsCredentialsOptionsHostOptionstakes_optiongroupsr
   takes_optionsr.   __static_attributes__r0       r-   r   r      sc     H ))--..''	 	x>#M	IM
 ;?,0-r@   r   c                       \ rS rSrSrSrS/r\R                  \R                  \R                  \R                  S.r  S	S jrSrg)
cmd_sites_view?   zView one site.%prog <site> [options]sitenamer   Nc                     U R                  X#U5      n [        R                  " XaS9nUc  [	        SU S35      eU R                  UR                  5       5        g ! [         a  n[	        U5      eS nAff = f)Nr"   Site  not found.)r    r   getr   r	   r$   r#   )	r(   rE   r   r   r   r   r)   r*   r,   s	            r-   r.   cmd_sites_view.runM   st     xH=	"88C-D
 <xj<== 	'  	"q/!	"   A 
A4$A//A4r0   NNNNr2   r3   r4   r5   r6   r7   
takes_argsr8   r9   r:   r;   r<   r=   r.   r?   r0   r@   r-   rB   rB   ?   sN    'HJ ))--..''	 EI(r@   rB   c                       \ rS rSrSrSrS/r\R                  \R                  \R                  \R                  S.r  S	S jrSrg)
cmd_sites_create_   zCreate a new site.rD   rE   r   Nc           	         U R                  X#U5      nUR                  5          [        R                  " XfR	                  5       U5        UR                  5         U R                  R                  SU-  5        g ! [        R                   a1  nUR                  5         [        SU< S[        U5      < 35      eS nAff = f)NzError while creating site 	, error: zSite %s created !
)r    transaction_startr   create_siteget_config_basedntransaction_commitSiteAlreadyExistsExceptiontransaction_cancelr	   strr&   r'   r(   rE   r   r   r   r   samdbr,   s           r-   r.   cmd_sites_create.runm   s      h?!	3e%<%<%>I$$& 			-89 // 	3$$& (#a& 2 3 3	3   5A8 8B=,B88B=r0   rM   rN   r0   r@   r-   rQ   rQ   _   sN    'HJ ))--..''	 EI:r@   rQ   c                       \ rS rSrSrSrS/r\R                  \R                  \R                  \R                  S.r  S	S jrSrg)
cmd_sites_delete}   zDelete an existing site.rD   rE   r   Nc           	         U R                  X#U5      nUR                  5          [        R                  " XfR	                  5       U5        UR                  5         U R                  R                  SU-  5        g ! [        R                   a1  nUR                  5         [        SU< S[        U5      < 35      eS nAff = f)NzError while removing site rT   zSite %s removed!
)r    rU   r   delete_siterW   rX   SiteExceptionrZ   r	   r[   r&   r'   r\   s           r-   r.   cmd_sites_delete.run   s      h?!	Pe%<%<%>I$$& 			,x78 "" 	P$$&=Es1vNP P	Pr_   r0   rM   rN   r0   r@   r-   ra   ra   }   sN    "'HJ ))--..''	 EI9r@   ra   c                       \ rS rSrSrSrS/r\R                  \R                  \R                  \R                  S.r\" SSSS	S
S9/r  SS jrSrg)cmd_sites_subnet_list   zList subnets.rD   rE   r   r   r   r   r   r   r   Nc                 2   U R                  X#U5      n [        R                  " XqS9nUc  [	        SU S35      e [
        R                  " U[        UR                  5      S9 V
s0 s H  n
U
R                  U
R                  5       _M      nn
US:X  a  U R                  U5        g UR                  5        H!  n
U R                  R                  U
 S35        M#     g ! [         a  n	[	        U	5      eS n	A	ff = fs  sn
f ! [         a  n	[	        U	5      eS n	A	ff = f)NrG   rH   rI   )site_objectr   r   )r    r   rJ   r   r	   r   r!   r[   dnr"   r#   r$   r%   r&   r'   )r(   rE   r   r   r   r   r   r)   r*   r,   subnetsubnets_dicts               r-   r.   cmd_sites_subnet_list.run   s    xH=	"88C-D
 <xj<==	"*0,,sCFtww<+QR+Q #IIv~~'77+Q  R F"OOL)&++-		6(". .'  	"q/!	"R  	"q/!	"s@   C *C< %%C7
C< 
C4$C//C47C< <
DDDr0   r1   )r2   r3   r4   r5   r6   r7   rO   r8   r9   r:   r;   r<   r=   r
   r>   r.   r?   r0   r@   r-   rh   rh      sl    'HJ ))--..''	 	x>#M	IM
 EI,0/r@   rh   c                       \ rS rSrSrSrS/r\R                  \R                  \R                  \R                  S.r  S	S jrSrg)
cmd_sites_subnet_view   zView subnet details.%prog <subnet> [options]
subnetnamer   Nc                     U R                  X#U5      n [        R                  " XaS9nUc  [	        SU S35      eU R                  UR                  5       5        g ! [         a  n[	        U5      eS nAff = f)NrG   Subnet rI   )r    r   rJ   r   r	   r$   r#   )	r(   rt   r   r   r   r   r)   rm   r,   s	            r-   r.   cmd_sites_subnet_view.run   su     xH=	"ZZ3F
 >K@AA 	()  	"q/!	"rL   r0   rM   rN   r0   r@   r-   rq   rq      sN    )HJ ))--..''	 GK*r@   rq   c                       \ rS rSrSrSrSS/r\R                  \R                  \R                  \R                  S.r  S
S jrS	rg)cmd_sites_subnet_create   zCreate a new subnet.)%prog <subnet> <site-of-subnet> [options]rt   site_of_subnetr   Nc                 p   U R                  X4U5      nUR                  5          [        R                  " XwR	                  5       UU5        UR                  5         U R                  R                  SU-  5        g ! [        R                   a(  nUR                  5         [        SU< SU< 35      eS nAff = f)NzError while creating subnet : zSubnet %s created !
)r    rU   r   create_subnetrW   rX   SubnetExceptionrZ   r	   r&   r'   	r(   rt   r|   r   r   r   r   r]   r,   s	            r-   r.   cmd_sites_subnet_create.run   s      h?!	0!!%)@)@)BJ"02$$& 			/*<= && 	0$$& *A / 0 0	0s   6A9 9B5#B00B5r0   rM   rN   r0   r@   r-   ry   ry      sR    :H 01J ))--..''	 HL'+>r@   ry   c                       \ rS rSrSrSrS/r\R                  \R                  \R                  \R                  S.r  S	S jrSrg)
cmd_sites_subnet_deletei	  zDelete an existing subnet.rs   rt   r   Nc                 n   U R                  X#U5      nUR                  5          [        R                  " XfR	                  5       U5        UR                  5         U R                  R                  SU-  5        g ! [        R                   a(  nUR                  5         [        SU< SU< 35      eS nAff = f)NzError while removing subnet rT   zSubnet %s removed!
)r    rU   r   delete_subnetrW   rX   r   rZ   r	   r&   r'   )r(   rt   r   r   r   r   r]   r,   s           r-   r.   cmd_sites_subnet_delete.run  s      h?!	0!!%)@)@)BJO$$& 			.;< && 	0$$& *A / 0 0	0s   5A8 8B4#B//B4r0   rM   rN   r0   r@   r-   r   r   	  sN    $)HJ ))--..''	 GK=r@   r   c                       \ rS rSrSrSrSS/r\R                  \R                  \R                  \R                  S.r  S
S jrS	rg)cmd_sites_subnet_set_sitei'  zAssign a subnet to a site.r{   rt   r|   r   Nc           	      r   U R                  X4U5      nUR                  5          [        R                  " XwR	                  5       X5        UR                  5         [        SU< SU< 3U R                  S9  g ! [        R                   a,  nUR                  5         [        SU< SU< SU< 35      eS nAff = f)NzError assigning subnet z	 to site r~   rv   z shifted to site )file)r    rU   r   set_subnet_siterW   rX   r   rZ   r	   printr&   r   s	            r-   r.   cmd_sites_subnet_set_site.run3  s      h?!	@##E+B+B+D$.@$$& 	N,3799	> && 	@$$& *NA ? @ @	@s   5A6 6B6
'B11B6r0   rM   rN   r0   r@   r-   r   r   '  sR    $:H 01J ))--..''	 HL'+>r@   r   c                   Z    \ rS rSrSr\" 5       \" 5       \" 5       \" 5       \	" 5       S.r
Srg)cmd_sites_subnetiE  zSubnet management subcommands.)createremovelistviewzset-siter0   N)r2   r3   r4   r5   r6   ry   r   rh   rq   r   subcommandsr?   r0   r@   r-   r   r   E  s*    ()+)+%'%'-/Kr@   r   c                       \ rS rSrSr0 r\" 5       \S'   \" 5       \S'   \" 5       \S'   \	" 5       \S'   \
" 5       \S'   Srg	)
	cmd_sitesiP  zSites management.r   r   r   r   rm   r0   N)r2   r3   r4   r5   r6   r   r   rB   rQ   ra   r   r?   r0   r@   r-   r   r   P  sK    K(*K(*K,.K,.K,.Kr@   r   )samba.getoptgetoptr8   sambar   r   samba.domain.modelsr   r   samba.domain.models.exceptionsr   samba.netcmdr   r	   r
   r   r   rB   rQ   ra   rh   rq   ry   r   r   r   r   r0   r@   r-   <module>r      s   &    , 5 D D"-W "-J(W (@:w :<9w 9<./G ./b*G *@>g >:=g =<> ><| / /r@   