ó
‚•oTc           @   s–   d  d l  Z  d  d l Z d  d l m Z d  d l m Z m Z m Z d  d l m	 Z	 d  d l
 m Z d  d l m Z d „  Z d d d d d „ Z d S(	   iÿÿÿÿN(   t   NewsWrapper(   t   Servert   clues_logint   clues_too_many(   t   get_servers(   t   xml_name(   t   int_convc      
   C   s  |  j  d d ƒ j ƒ  } | s. t t d ƒ f S|  j  d d ƒ j ƒ  } |  j  d d ƒ j ƒ  } |  j  d d ƒ j ƒ  } t |  j  d d ƒ ƒ } | s¤ t t d	 ƒ f St |  j  d
 d ƒ ƒ } t |  j  d d ƒ ƒ } | sò | ré d } qò d } n  t | | | d | d | d
 | ƒS(   Nt   hostt    s   The hostname is not set.t   usernamet   passwordt   servert   connectionsi    sA   There are no connections set. Please set at least one connection.t   sslt   porti3  iw   (   t   gett   stript   Falset   TR   t   test_nntp_server(   t   kwargsR   R	   R
   R   R   R   R   (    (    s-   /var/www/SABnzbd/sabnzbd/utils/servertests.pyt   test_nntp_server_dict   s"    		c      
   C   sÅ  d } d | k r¼ | j  d ƒ r¼ | sv t ƒ  } t } xi | D]1 } |  | k r> | | }	 |	 j ƒ  } t } q> q> Wn- t ƒ  j | ƒ }	 |	 r£ |	 j ƒ  } t } n  | s¼ t t d ƒ f Sn  y( t d |  | | d d | | | ƒ	 }
 Wn t t d ƒ f SXyg t |
 d d t ƒ} | j	 d  ƒ x> | j s`g  | _ | j d t ƒ | j | j d d  ƒ q#WWnÜ t j k
 r­} | d	 k rš| ršt t d
 ƒ f St t d ƒ f Sn” t j k
 rÕ} t t t | ƒ ƒ f St k
 rú} t t t d ƒ ƒ f St k
 rt t t d ƒ ƒ f St t t t j ƒ  d ƒ ƒ f SX| sO| r©| j j j d ƒ y g  | _ | j d t ƒ Wq©t t t t j ƒ  d ƒ ƒ f SXn  y | j d d  } Wn' t k
 rçd } | j j d ƒ n X| d k rt t d ƒ f S| d k s.| j d ƒ s.| j d ƒ r>t t d ƒ f S| d k s]t | j d ƒ rmt t d ƒ f St | j d ƒ rt t d ƒ f St t d ƒ t | j d ƒ f S| j d t ƒ d  S(   Ng      @t   *s*   Password masked in ******, please re-enteriÿÿÿÿi    s   Invalid server detailst   blocki   iw   s>   Timed out: Try enabling SSL or connecting on a different port.s	   Timed outs   Invalid server address.s"   Server quit during login sequence.i   s   ARTICLE <test@home>
R   t   480s&   Server requires username and password.t   100t   2t   4s   Connection Successful!t   502s/   Authentication failed, check username/password.sA   Too many connections, please pause downloading or try again laters*   Could not determine connection result (%s)t   quit(    R   R   R   R
   t   TrueR   R   R   R    t   init_connectt   Nonet	   connectedt   linest
   recv_chunkt   finish_connectt   sockett   timeoutt   errorR   t   strt	   TypeErrort
   IndexErrort   syst   exc_infot   nntpt   sockt   sendallt   appendt
   startswithR   R   t	   terminate(   R   R   R   R	   R
   R   R&   t   serverst   got_passt   srvt   st   nwt   et   code(    (    s-   /var/www/SABnzbd/sabnzbd/utils/servertests.pyR   7   sz    	
	(	 !	$*!(   R%   R+   t   sabnzbd.newswrapperR    t   sabnzbd.downloaderR   R   R   t   sabnzbd.configR   t   sabnzbd.encodingR   t   sabnzbd.miscR   R   R    R   (    (    (    s-   /var/www/SABnzbd/sabnzbd/utils/servertests.pyt   <module>   s   	