
    Kc                     .    d dl Zd Z G d d          ZdS )    Nc                     t           j                            |           }dD ](}|                    |dt	          |          z            })|S )N)/@:z%%%02X)urllibparsequotereplaceord)xqcs      */usr/share/system-config-printer/smburi.pyurlquoter      sK    AA . .IIq(S!WW,--H    c                   4    e Zd Z	 	 ddZd	dZd Zd Zd ZdS )
SMBURIN c                     |r9|s|s|s|s|rt           |                    d          r
|dd          }|| _        d S |                     |||||          | _        d S )Nzsmb://   )userpassword)RuntimeError
startswithuri
_construct)selfr   grouphostsharer   r   s          r   __init__zSMBURI.__init__!   s      
	F # # # # #""~~x(( !""gDHHHtU-1H ' F FDHHHr   c                 (   d}|rdt          |          z   }|r|dz  }t          |          |t          |          }t          |          dk    r|dz  }|t          |          z  }t          |          dk    r|dt          |          z   z  }|S )Nr   r   r   r   r   )r   len)r   r   r   r    r   r   uri_passwordr   s           r   r   zSMBURI._construct0   s     	58!4!44L 	 CL"D///&,"E***, ;;??3JCx;;??35))))C
r   c                     | j         S N)r   )r   s    r   get_urizSMBURI.get_uri@   s	    xr   c                 d    |                                  \  }}}}}|                     |||          S r&   )separater   )r   r   r   r    r   r   s         r   sanitize_urizSMBURI.sanitize_uriC   s2    -1]]-=-=*tUD(tU333r   c                    |                                  }d}d}|                    d          }|dk    rR|d |                             d          }|dk    r|d |         }||dz   |         }n
|d |         }||dz   d          }|                    d          }d}|dk    r,|                    d          }|d |         }||dz   d          }|dk     rd}	nQ|                    d          }
|d |
         }	||
dz   d          }|	                    d          }|dk    r
|	d |         }	|}t          j                            |          t          j                            |	          t          j                            |          t          j                            |          t          j                            |          fS )Nr   r   r      r      )r'   findcountr   r   unquote)r   r   r   r   authusepr   gr   hpr    s                r   r)   zSMBURI.separateG   s   llooxx~~2::ETE
$$ABww2A2wq1uTz?5D5zdQhii.Ciioo!88AGEa!eff+C77DDArr7Da!eff+C		#ABwwBQBx$$e,,fl.B.BD.I.I$$e,,$$d++V\-A-A8-L-LN 	Nr   )Nr   r   r   r   r   )r   r   )__name__
__module____qualname__r!   r   r'   r*   r)    r   r   r   r       sx        ACF F F F      4 4 4N N N N Nr   r   )urllib.parser   r   r   r;   r   r   <module>r=      sh   .      FN FN FN FN FN FN FN FN FN FNr   