
    Id,	                     V    d Z ddlmZ  G d de      Z G d de      Z G d de      Zy	)
zLocal host configuration.   )SamDBc                   "    e Zd ZdZd Zd Zd Zy)
Hostconfigz[Aggregate object that contains all information about the configuration
    of a Samba host.c                     || _         y N)lpselfr   s     2/usr/lib/python3/dist-packages/samba/hostconfig.py__init__zHostconfig.__init__   s	        c                 ,    t        | j                        S r   )SharesContainerr   r
   s    r   
get_shareszHostconfig.get_shares   s    tww''r   c                 d    t        | j                  j                         ||| j                        S )zAccess the SamDB host.

        :param session_info: Session info to use
        :param credentials: Credentials to access the SamDB with
        )urlsession_infocredentialsr   )r   r   	samdb_url)r
   r   r   s      r   	get_samdbzHostconfig.get_samdb    s,     **,".K! 	!r   N)__name__
__module____qualname____doc__r   r   r    r   r   r   r      s    (!r   r   c                   .    e Zd ZdZd Zd Zd Zd Zd Zy)r   zA shares container.c                     || _         y r   )_lpr	   s     r   r   zSharesContainer.__init__2   s	    r   c                 H    |dk(  rt         t        | j                  |         S Nglobal)KeyErrorSharer   r
   names     r   __getitem__zSharesContainer.__getitem__5   s"    8NTXXd^$$r   c                     d| j                   j                         v rt        | j                         dz
  S t        | j                         S )Nr"   r   )r   serviceslenr   s    r   __len__zSharesContainer.__len__;   s8    txx((**txx=1$$488}r   c                 h    | j                   j                         D cg c]
  }|dk7  s	| c}S c c}w r!   )r   r)   r%   s     r   keyszSharesContainer.keys@   s*    !%!2!2!4I8HIIIs   
//c                 4    t        | j                               S r   )iterr-   r   s    r   __iter__zSharesContainer.__iter__C   s    DIIK  r   N)	r   r   r   r   r   r'   r+   r-   r0   r   r   r   r   r   /   s    %
J!r   r   c                   "    e Zd ZdZd Zd Zd Zy)r$   zA file share.c                     || _         y r   _service)r
   services     r   r   zShare.__init__J   s	    r   c                      | j                   |   S r   r3   r%   s     r   r'   zShare.__getitem__M   s    }}T""r   c                 "    || j                   |<   y r   r3   )r
   r&   values      r   __setitem__zShare.__setitem__P   s    #dr   N)r   r   r   r   r   r'   r9   r   r   r   r$   r$   G   s     #$r   r$   N)r   samdbr   objectr   r   r$   r   r   r   <module>r<      s1   $   ! !2!f !0
$F 
$r   