ó
‚•oTc           @   sÄ   d  d l  Z  d  d l Z d  d l m Z d  d l Z d  d l Td  d l Z d  d l m Z m	 Z	 d  d l
 m Z d  d l m Z d  d l Z d  d l j Z d  d l j Z d e f d „  ƒ  YZ d S(	   iÿÿÿÿN(   t   Template(   t   *(   t   list_languagest   set_language(   t   test_nntp_server_dict(   t	   Ttemplatet   Wizardc           B   s˜   e  Z d  „  Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z	 e j d „  ƒ Z
 d „  Z e j d „  ƒ Z RS(	   c         C   sM   | |  _  t j |  _ | |  _ i t j d 6d d 6t j d 6t d 6|  _ d  S(   Nt   webdiri   t   stepst   versiont   T(   t   _Wizard__roott   sabnzbdt
   WIZARD_DIRt   _Wizard__web_dirt   _Wizard__primt   __version__R
   t   info(   t   selft   web_dirt   roott   prim(    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt   __init__&   s    		c         K   sµ   |  j  j ƒ  } d | d <d | d <t j ƒ  | d <t ƒ  | d <t | d <t j j |  j	 ƒ sq t
 j d ƒ ‚ n@ t d t j j |  j	 d	 ƒ d
 | g d t j j ƒ } | j ƒ  Sd  S(   Nt    t   numi    t   numbert   langt	   languagesR
   t   files
   index.htmlt
   searchListt   compilerSettings(   R   t   copyt   cfgt   languageR   R   t   ost   patht   existsR   t   cherrypyt   HTTPRedirectR    t   joinR   t	   interfacet
   DIRECTIVESt   respond(   R   t   kwargsR   t   template(    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt   index/   s    


c         k   s5   d Vt  j ƒ  d t  j Vt j j ƒ  t t  _ d  S(   Ns   Initiating shutdown...s    <br>SABnzbd-%s shutdown finished(   R   t   haltR   R%   t   enginet   exitt   Truet   SABSTOP(   R   R+   (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyR0   A   s
    
c         K   sÒ  | j  d ƒ } t j j | ƒ t | ƒ t j j ƒ  t j j	 d ƒ |  j
 j ƒ  } d t d ƒ | d <d | d <t j ƒ  | d <t j ƒ  | d	 <t | d
 <t t j j ƒ | d <t j ƒ  } | sd | d <d | d <d | d <d | d <d | d <d | d <nŽ x‹ | D]ƒ } | | } | j ƒ  | d <| j ƒ  | d <| j ƒ  | d <| j j ƒ  | d <| j ƒ  | d <| j ƒ  | d <| j ƒ  rPqqWt d t j j |  j  d ƒ d | g d t j j! ƒ } | j" ƒ  S(   NR   s   Plush - Golds
   &raquo; %ss   Step OneR   i   R   t   sessionR!   R
   t   have_sslR   t   hostt   portt   usernamet   passwordt   connectionsi    t   sslR   s   one.htmlR   R   (#   t   getR    R!   t   setR   R   t   apit   clear_trans_cacheR(   t   change_web_dirR   R   R
   t   api_keyR   t   boolt   newswrappert   HAVE_SSLt   configt   get_serversR5   R6   R7   R8   t	   get_starsR9   R:   t   enableR    R"   R#   R'   R   R)   R*   (   R   R+   R!   R   t   serverst   servert   sR,   (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt   oneJ   sB    








c         K   s)  | r# d | d <t  j j | ƒ n  |  j j ƒ  } d t d ƒ | d <d | d <t | d <t j ƒ  } | | d	 <| d k r‰ t	 | d <n
 t
 | d <t t  j j ƒ | d <t j ƒ  | d <t j ƒ  | d <t j ƒ  | d <t j ƒ  | d <t d t j j |  j d ƒ d | g d t  j j ƒ } | j ƒ  S(   Ni   RG   s
   &raquo; %ss   Step TwoR   i   R   R
   R5   t	   localhosts   0.0.0.0t   custom_hostR4   t   enable_httpst   autobrowsert   web_usert   web_passR   s   two.htmlR   R   (   RL   s   0.0.0.0(   R   R(   t   handle_serverR   R   R
   R   R    t
   cherryhostR1   t   FalseRA   RB   RC   RN   RO   R7   R8   R    R"   R#   R'   R   R)   R*   (   R   R+   R   R5   R,   (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt   twow   s(    




c         K   sm  | rÌ d | k r) t  j j | d ƒ n  t  j j | j d d ƒ ƒ t  j j | j d d ƒ ƒ t  j j | j d d ƒ ƒ t  j j | j d d ƒ ƒ t  j ƒ  s³ t  j ƒ  rÌ t j	 j
 t j ƒ qÌ n  t j ƒ  |  j j ƒ  } d t d	 ƒ | d
 <d | d <t | d <t  j ƒ  | d <t  j ƒ  | d <t d t j j |  j d ƒ d | g d t j	 j ƒ } | j ƒ  S(   Nt   accessRN   i    RO   RP   R   RQ   s
   &raquo; %ss
   Step ThreeR   i   R   R
   t   rating_enablet   rating_api_keyR   s
   three.htmlR   R   (   R    RS   R<   RN   R;   RO   R7   R8   R   R(   t   set_authR%   RD   t   save_configR   R   R
   R   RW   RX   R    R"   R#   R'   R   R)   R*   (   R   R+   R   R,   (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt   three˜   s&    


c         K   sö   | rA t  j j | j d d ƒ ƒ t  j j | j d d ƒ ƒ n  t j ƒ  |  j j ƒ  } d t	 d ƒ | d <d | d	 <d
 | d <t  j
 ƒ  | d <|  j ƒ  \ | d <| d <t | d <t d t j j |  j d ƒ d | g d t j j ƒ } | j ƒ  S(   NRW   i    RX   R   s
   &raquo; %ss	   Step FourR   i   R   s   http://wiki.sabnzbd.org/t   helpuriR3   t
   access_urlt   urlsR
   R   s	   four.htmlR   R   (   R    RW   R<   R;   RX   RD   RZ   R   R   R
   R@   t   get_access_infoR   R    R"   R#   R'   R   R   R(   R)   R*   (   R   R+   R   R,   (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt   four³   s    



c         C   só  d } t  j ƒ  } | d k rd d  l } | j ƒ  } | g } y | j | d  ƒ } Wn g  } n XxD | D]< } | d d } d | k rl | | k rl | j | ƒ ql ql Wt j j	 j
 d ƒ rý t j j	 d } | j d ƒ d } | } | j d | ƒ qF| j d d ƒ n6| d k rd d  l } | j ƒ  } | g } | j | d  ƒ } xQ | D]I } | d d } d | k rVd	 | } | | k rŸ| j | ƒ qŸqVqVWt j j	 j
 d ƒ rôt j j	 d } | j d ƒ d } | } | j d | ƒ qF| j d d ƒ n? | s7d d  l } | j ƒ  g } | j ƒ  } n | g } | } g  }	 x_ | D]W }
 |
 rSt  j ƒ  r„d
 |
 t  j ƒ  f } n d |
 t  j ƒ  f } |	 j | ƒ qSqSWt  j ƒ  rÓd
 | t  j ƒ  f } n d | t  j ƒ  f } | |	 f S(   NRL   s   0.0.0.0iÿÿÿÿi   i    t   :R5   s   ::s   [%s]s   https://%s:%s/sabnzbd/s   http://%s:%s/sabnzbd/(   R    RS   t   sockett   gethostnamet   getaddrinfot   Nonet   appendR%   t   requestt   headerst   has_keyt   rsplitt   insertRN   t
   https_portt
   cherryport(   R   t
   access_uriRS   Rb   R5   t   sockst	   addressest   addrt   addressR^   t   sockt   urlR]   (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyR_   È   sl    	
	
	c         K   s   t  | ƒ \ } } | S(   N(   R   (   R   R+   t   resultt   msg(    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt
   servertest  s    (   t   __name__t
   __module__R   R%   t   exposeR-   R0   RK   RU   R[   R`   R_   Rw   (    (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyR   %   s   			-!	J(   R"   R%   t   Cheetah.TemplateR    R   t   sabnzbd.constantst   sabnzbd.apit   sabnzbd.langR   R   t   sabnzbd.utils.servertestsR   R   t   sabnzbd.interfacet   sabnzbd.configRD   t   sabnzbd.cfgR    t   objectR   (    (    (    s"   /var/www/SABnzbd/sabnzbd/wizard.pyt   <module>   s   
