3
x[                 @   sx   d Z ddlmZ ddlmZ ddlmZmZ dd Zeddd	 Z	d
d Z
eddddd Zeddddd ZdS )z-
auth_ng commands.
* depends: auth_ng, ucmgr
   )command)exc_line)NUHAuthenticationErrorc             C   s:   | j j|}|r,d| ddjtt| S | dS d S )Nzauth tags for z: ,z has no auth tags.)authmgrtags_for_nickjoinmapstr)botnicktags r   !/opt/Infobot/plugins/auth_cmds.py	_get_tags
   s    r   z	auth.tagsc             C   s   |r|}| j |t| | d S )N)msgr   )r   r   chanargr   r   r   get_tags   s    r   c       
      C   sr   |j  ^}}|s|}|}n|d }|j d}y| jj| }W n   | j|d| d dS tjt|}	|	|fS )N    r   zUnable to find nick z% - maybe wait until NAMES processing?)NN)splitucmgrusersr   r   	from_hostr   )
r   r   r   r   Zto_nickresttaglstr   usernuhr   r   r   get_nuh_and_tags   s    
r   zauth.rm_tagsT)authc             C   s   t | |||\}}|sd S xL|D ]D}y| jj|| W q  tk
rb } z| j|t|S d }~X q X q W | j|t| |j d S )N)r   r   rm_tagr   r   r   r   r   )r   r   r   r   r   r   tager   r   r   r!   -   s    
 r!   zauth.add_tagsc             C   s   t | |||\}}|sd S xL|D ]D}y| jj|| W q  tk
rb } z| j|t|S d }~X q X q W | j|t| |j d S )N)r   r   add_tagr   r   r   r   r   )r   r   r   r   r   r   r"   r#   r   r   r   r$   :   s    
 r$   N)__doc__Zutil.decoratorsr   utilr   Zauth_ng.datar   r   r   r   r   r!   r$   r   r   r   r   <module>   s   