
oTc        =   @   s  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m	 Z	 m
 Z
 d  d l Z d  d l Z d  d l j Z d  d l m Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z d  d l m  Z  d  d l! m" Z" d  d	 l# m$ Z$ d  d
 l% m& Z& d  d l' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ d  d l0 j1 Z1 d  d l2 j3 Z3 d  d l4 Z d  d l5 m6 Z6 d  d l7 m8 Z8 d  d l9 m: Z: d  d l; Z d  d l< m= Z= d  d l> Td  d l? m@ Z@ mA ZA d  d lB mC ZC mD ZD mE ZE mF ZF mG ZG mH ZH mI ZI mJ ZJ mK ZK mL ZL mM ZM mN ZN mO ZO mP ZP mQ ZQ mR ZR mS ZS mT ZT i d d 6d d 6eU d 6ZV e* ZW d   ZX d   ZY d   ZZ d   Z[ d   Z\ d   Z] d   Z^ d   Z_ d    Z` d!   Za d"   Zb d#   Zc d$   Zd ee d%  Zf d& eg f d'     YZh d( eg f d)     YZi d* eg f d+     YZj d, eg f d-     YZk d. eg f d/     YZl d0 eg f d1     YZm d2   Zn d3   Zo d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ f Zp dA eg f dB     YZq dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d f= Zr d eg f d     YZs d d d d d d d dC d d d d d d d d d d d d d d d d d d d d d d d d f  Zt d d d d d d d d d d f
 Zu d d d f Zv d eg f d     YZw d d d d d d d d d d d d d f Zx d eg f d     YZy d   Zz d eg f d     YZ{ d   Z| e} ee d  Z~ d   Z d eg f d     YZ d d d d d d d d d d d f Z d eg f d     YZ d eg f d     YZ d eg f d     YZ d d d d d d d d d d d f Z d eg f d     YZ d eg f d     YZ d   Z d   Z d   Z d   Z d   Z d   Z d   Z d d d d d d d d= d f	 Z d d d d d f Z d eg f d     YZ d e} d  Z d   Z d S(   iN(   t   escape(   t   RSSt   Item(   t   Template(   t	   real_patht   to_unitst   diskfreet   sanitize_foldernamet   time_formatt	   HAVE_AMPMt   cat_to_optst   int_convt   globbert
   remove_allt   get_base_url(   t   panic_old_queue(   t   GetServerParms(   t	   Bookmarks(   t   Rating(   t   BPSMeter(   t   TRANSt   xml_namet   LatinFiltert   unicodert   special_fixert   platform_encodet   latin1t   encode_for_xml(   t   PostProcessor(   t
   Downloader(   t   NzbQueue(   t   test_nntp_server_dict(   t   *(   t   list_languagest   set_language(   t   list_scriptst	   list_catst   del_from_sectiont   api_handlert   build_queuet   rss_qstatust	   retry_jobt   build_headert   build_historyt   del_job_filest   format_bytest   calc_aget   std_timet   reportt   del_hist_jobt	   Ttemplatet   _api_test_emailt   _api_test_notifs   <!--#t   directiveStartTokens   #-->t   directiveEndTokent   prioritizeSearchListOverSelfc         C   sb   |  j    d k r+ t j r+ t t d   St |  t |   rD d St t d  |  | f  Sd  S(   Nt	   localhosts:   Warning: LOCALHOST is ambiguous, use numerical IP-address.t    s$   Server address "%s:%s" is not valid.(   t   lowert   sabnzbdt   AMBI_LOCALHOSTt   badParameterResponset   TR   R   (   t   hostt   port(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   check_serverL   s
    c          C   s.   t  j j j }  |  d k p- |  j t j    S(   Ns	   127.0.0.1s   ::1(   s	   127.0.0.1s   ::1(   t   cherrypyt   requestt   remotet   ipt
   startswitht   cfgt   local_range(   t   referrer(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   check_accessX   s    c         C   s@   |  d  k r d }  n' |  j   t d  j   k r< d }  n  |  S(   Nt   Nonet   DefaultR9   (   RK   R:   R>   (   t   p(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   ConvertSpecials^   s
    		c         K   s_   i  } x0 | D]( } | j  |  } | r | | | <q q Wd |  t j |  f }  t j |   S(   Ns   %s?%s(   t   gett   urllibt	   urlencodeRB   t   HTTPRedirect(   t   roott   kwargst   argst   keyt   val(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   Raiserh   s    c         C   sF   t  |  d | j d  d | j d  d | j d  d | j d  S(   Nt   startt   limitt   searcht   _dc(   RX   RO   (   RS   RT   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   queueRaiserr   s    c         C   s   t  |  d | j d  S(   NR\   (   RX   RO   (   RS   RT   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   dcRaiserx   s    c         C   s   t  |  d | j d  S(   Nt   feed(   RX   RO   (   RS   RT   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   rssRaiser{   s    c         C   s(   |  d  k p' |  d k p' |  j   d k S(   NR9   t   none(   RK   R:   (   t   value(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   IsNone   s    c         C   s   y |  j    SWn d  SXd  S(   N(   t   stripRK   (   t   txt(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   Strip   s    c          C   s    i  }  t  j   |  t  j   <|  S(   N(   RG   t   passwordt   username(   t   users(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   get_users   s    c         C   s   |  S(   N(    (   t   pwd(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   encrypt_pwd   s    c         C   s   t  j   r t  j   r |  j i t d 6t  j   d 6t d 6t d 6 |  j i i t d 6d 6i t d 6d 6i t d 6d 6i t d 6d 6 n |  j i t d 6 d  S(	   Ns   tools.basic_auth.ons   tools.basic_auth.realms   tools.basic_auth.userss   tools.basic_auth.encrypts   /apis   /m/apis   /sabnzbd/apis   /sabnzbd/m/api(	   RG   Rh   Rg   t   updatet   Truet   login_realmRj   Rl   t   False(   t   conf(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   set_auth   s    c         C   s   t    s d S|  j d  } | s4 |  j d  } n  d  } | sb t j t d   t d  } n4 | t j   k r t j t d   t d  } n  | S(   Nu	   No accesst   sessiont   apikeys   Missing Session keys   Error: Session Key Requireds   Error: Session Key Incorrect(	   RJ   RO   RK   t   loggingt   warningt   TaR>   RG   t   api_key(   RT   RV   t   msg(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   check_session   s    	c   	      C   s  d   } |  j  d  } |  j  d d  } |  j  d  } | d k pR t j j    } |  j  d d  d k } | r t   r t | d  St j   p | s6|  j  d  } | s | s | t d   n  t | d d | S| r | t j   k r d  S| t j	   k rd  S| t d   t | d d | Sn  t j
   rt j   r|  j  d  t j
   k r|  j  d  t j   k rq| s| t d   n  t | d d | Sn  d  S(   Nc         S   sB   d |  t  j j j t  j j j d d  f }  t j d |   d  S(   Ns   %s %s>%ss
   User-Agents   ??s   %s(   RB   RC   RD   RE   t   headersRO   Ru   Rv   (   Re   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   log_warning   s    .t   outputt   modeR9   t   callbackt   get_scriptst   qstatust   addidt   addurlt   addfilet   addlocalfiles	   No accessRt   s[   API Key missing, please enter the api key from Config->General into your 3rd party program:s   API Key RequiredsR   API Key incorrect, Use the api key from Config->General in your 3rd party program:s   API Key Incorrectt   ma_usernamet   ma_passwordsh   Authentication missing, please enter username/password from Config->General into your 3rd party program:s   Missing authentication(   R   R   (   R   R   R   R   (   RO   RG   t   api_warningsRJ   R0   t   disable_keyRw   t   nzb_keyRK   Rx   Rh   Rg   (	   RT   t   nokeyR|   R}   R~   R   t   specialt   nzbkeyRV   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   check_apikey   s6    	6t   NoPagec           B   s#   e  Z d    Z e j d    Z RS(   c         C   s   d  S(   N(    (   t   self(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   __init__   s    c         K   s   t  t d   S(   Ns&   Error: No secondary interface defined.(   R=   R>   (   R   RT   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   index   s    (   t   __name__t
   __module__R   RB   t   exposeR   (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR      s   	t   MainPagec           B   s%  e  Z d d d e d  d  Z e j d    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 e j 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 RS(   i    c         C   sU  | |  _  | |  _ | |  _ | d k rN | rN t | | d | d t |  _ n  | d k r t | d | d d | d t d d |  _ n  t | | d |  |  _	 t
 | | d	 |  |  _ t | | d
 |  |  _ t j   r | r t | | d |  |  _ n t | | d |  |  _ t | | d |  |  _ t j j | | d |  |  _ d  S(   Ni   t   web_dirct   primi   s	   /sabnzbd/s   /sabnzbd/m/t   firsts   queue/s   history/s   status/s   config/s   nzb/s   wizard/(   t   _MainPage__roott   _MainPage__web_dirt   _MainPage__primR   Rp   t   mRn   R;   t	   QueuePaget   queuet   HistoryPaget   historyt   Statust   statusRG   t	   uniconfigt
   ConfigPaget   configt   NzoPaget   nzbt   wizardt   Wizard(   R   t   web_dirRS   t   web_dir2t   root2R   R   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR      s    			!-c      	   K   s  t    s t   St j rG t j   rG t j j t  t j	   t
   S| j d  sb t j   rt |  j |  j  \ } } } t j   r t j j   r t | d <n  t d t  | d <d | d <d | d <t t  | d <t t j    | d	 <t t j    | d
 <d | d <t j   rot j j rMt j   rMt d  | d <n  t j j sot d  | d <qon  t j j st d  | d <n  t d t  j! j" |  j d  d t# d | g d t$  } | j%   St& j' d   d  S(   Nt   skip_wizardt   newzbinDetailst   defaultt   script_listRL   t   scriptt   catt   cat_listt   have_rss_definedt   have_watched_dirR9   Rv   sZ   Your UNRAR version is not recommended, get it from http://www.rarlab.com/rar_add.htm<br />sA   No UNRAR program found, unpacking RAR files is not possible<br />s1   No PAR2 program found, repairs not possible<br />t   files	   main.tmplt   filtert
   searchListt   compilerSettingss   /wizard/((   RJ   t	   ProtectedR;   t	   OLD_QUEUERG   t   warned_old_queuet   setRn   R   t   save_configR   RO   t   get_serversR*   R   R   t   newzbin_usernamet   newzbin_passwordt	   get_starsR#   R$   t   boolt   get_rsst   dirscan_dirt   enable_unrart
   newsunpackt   RAR_PROBLEMt   ignore_wrong_unrarR>   t   RAR_COMMANDt   PAR2_COMMANDR   t   ost   patht   joint   FILTERt
   DIRECTIVESt   respondRB   RR   (   R   RT   t   infot	   pnfo_listt   bytespersect   template(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   
  s8    	 




c         C   s  t    s t   S| j d d  } | s= | j d d  } n  | j d  } | j d  } | j d  } | j d  } | j d  } | j d	  } t j d
  }	 |	 j | j    }
 t |  } | r
| j   s t	 |  d k r
t
 j | | | | | |  nY |
 r>t
 j t |
 j d   | | | | |  n% | rct
 j | | | | | |  n  | su|  j } n  t j |   d  S(   Nt   idR9   t   urlt   ppR   R   t   priorityt   redirectt   nzbnames   /browse/post/(\d+)i   i   (   RJ   R   RO   t   ret   compileR[   R:   Rf   t   isdigitt   lenR;   t	   add_msgidt   groupt   add_urlR   RB   RR   (   R   RT   R   R   R   R   R   R   R   t   RE_NEWZBIN_URLt   newzbin_url(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   add_handler9  s.    	 $.c         K   s)   t  |  } | r | S|  j |   d  S(   N(   Rz   R   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   addIDT  s     c         K   s)   t  |  } | r | S|  j |   d  S(   N(   Rz   R   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   addURL[  s     c         K   s   t  |  } | r | S| j d  } | d  k	 r | j r | j r t j | | j d  | j d  | j d  | j d t   n  t |  j	 |   d  S(   Nt   nzbfileR   R   R   R   (
   Rz   RO   RK   t   filenameRb   R;   t   add_nzbfilet   NORMAL_PRIORITYR^   R   (   R   RT   Ry   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   addFileb  s     !"c         k   sO   t  |  } | r | Vn1 d Vt j   d t j Vt j j   t t _ d  S(   Ns   Initiating shutdown...s    <br>SABnzbd-%s shutdown finished(	   Rz   R;   t   haltt   __version__RB   t   enginet   exitRn   t   SABSTOP(   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   shutdownm  s    
c         K   sF   t  |  } | r | St j d  t j j   t |  j |   d  S(   Ni    (   Rz   t	   schedulert   plan_resumeR   t   dot   pauseR^   R   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   y  s     c         K   sC   t  |  } | r | St j d  t j   t |  j |   d  S(   Ni    (   Rz   R   R   R;   t   unpause_allR^   R   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   resume  s     
c         K   s   t  | d t } | r | S| j d  d k rb t t j   d | j d d  d | j d  S| j d  d k r~ t   S| j d  d k r t   Sd  S(	   NR   R~   R   RZ   i2   R[   R   t   warnings(   R   Rn   RO   t   rss_historyRB   R   R(   t   rss_warnings(   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   rss  s     1c         K   s    t  |  } | r | St |  S(   N(   Rz   R&   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   tapi  s     c         K   s   | j  d  s t j   rQ t j d t j j j t j j	 j  d d  |  n  | j  d d  d	 k r t
 |  } | r | Sn  t |  S(
   Nt   ticklemes   API-call from %s [%s] %ss
   User-Agents   ??R~   R9   t   versiont   auth(   R   R  (   RO   RG   t   web_watchdogRu   t   debugRB   RC   RD   RE   R{   R   R&   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   api  s     c         K   sf   t    s t   S| j d  } | rP t j j } t | j |  | j |   St	 |  j
 |   d  S(   Nt   name(   RJ   R   RO   RB   t   thread_datat
   history_dbt
   ShowStringt   get_namet   get_script_logR^   R   (   R   RT   R  R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   scriptlog  s    	 c         K   s   t  |  } | r | S| j d d  } | j d d  j   } | j d  } | j d  } | j d  } | r | j   s t |  d k r t j | | | |  n. | r t j | | | | d | j d  n  t | d	 t	 t
 |  j |   d  S(
   Nt   jobR9   R   R   R   R   i   R   t	   del_files(   Rz   RO   Rd   R   R   R;   R   R   R1   Rn   R^   R   (   R   RT   Ry   R  R   R   R   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   retry  s     $(c         K   sK   t  |  } | r | St | j d  | j d   t |  j |   d  S(   NR  R   (   Rz   R)   RO   R^   R   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   retry_pp  s
     c         C   s   d t  j j d <d S(   Ns
   text/plains   Content-Types   User-agent: *
Disallow: /
(   RB   t   responseR{   (   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt
   robots_txt  s    N(   R   R   RK   Rn   R   RB   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR      s    /			R   c           B   sG   e  Z d    Z e j d    Z d   Z d   Z d   Z d   Z	 RS(   c         C   s1   | |  _  | |  _ t |  _ | |  _ i  |  _ d  S(   N(   t   _NzoPage__roott   _NzoPage__web_dirRp   t   _NzoPage__verboset   _NzoPage__primt   _NzoPage__cached_selection(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s
    				c   	   	   O   s  t    s t   Sd  } x' | D] } | j d  r | } Pq q W| rgt j j |  rgt |  j |  j	  \ } } } d | k r |  j
 | |  Sd | k r |  j | | |  } nq d | k r |  j | | |  } nM d | k r |  j | | |  d  S|  j | | |  } |  j | | |  } t d t j j |  j	 d  d t d	 | g d
 t  } | j   St t j |  j d  i    d  S(   Nt   SABnzbd_nzot   bulk_operationt   detailst   filest   saveR   s   nzo.tmplR   R   R   s	   ../queue/(   RJ   R   RK   RF   R   R   t   get_nzoR*   R  R  R  t   nzo_detailst	   nzo_filest   save_detailsR   R   R   R   R   R   R   R^   RB   t   _urljoinR  (	   R   RU   RT   t   nzo_idt   aR   R   R   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s0    	 
c         C   s  i  } d } xp| D]h} | t  | k rqt j j |  } | t } | t }	 | t }
 t j | |	 |
  } | t } | d  k r d } n  | t
 } | s d } n  t | j  } t | j  } | j r t | j  j d d  } n d } | t } t |  | d <| | d <| | d <| | d	 <| p2d | d
 <| | d <t |  | d <t |  | d <| | d <Pn  | d 7} q W| | d <t   | d <t   | d <t |  | d <| S(   Ni    RK   t   "s   &quot;R9   R!  R   R   t   filename_cleanRg   R   R   t
   unpackoptsR   i   t   slotR   R   t	   noofslots(   t   PNFO_NZO_ID_FIELDR;   t   nzbqueueR  t   PNFO_REPAIR_FIELDt   PNFO_UNPACK_FIELDt   PNFO_DELETE_FIELDt
   opts_to_ppt   PNFO_SCRIPT_FIELDRK   t   PNFO_EXTRA_FIELD1R   t   final_name_pw_cleant
   final_nameRg   t   replacet   PNFO_PRIORITY_FIELDt   strR#   R$   R   (   R   R   R   R!  R&  t   nt   pnfot   nzot   repairt   unpackt   deleteR%  R   R   t   filename_pwR   Rg   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    sJ    



	
		






c         C   s%  g  } x| D]} | t  | k r | | d <t | t  | d <x | t D] } | \ } } }	 }
 } t } | |  j k r |  j | d k r t } n  i t |	  d 6d | t d 6d | t d 6t |  d 6t |  d 6| d	 6t	 |
  d
 6| d 6} | j
 |  qL WPq q W| | d <| S(   NR!  R   t   ons   %.2ft   mbleftt   mbt   sizet   sizeleftt   nzf_idt   aget   checkedt   active_files(   R(  R   t   PNFO_FILENAME_FIELDt   PNFO_ACTIVE_FILES_FIELDRp   R  Rn   t   MEBIR-   R.   t   append(   R   R   R   R!  t   activeR6  t   tupt
   bytes_leftt   bytest   fnt   dateRA  RC  t   line(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  ;  s.    
	

c         C   s  | j  d d   } | j  d d   } | j  d d   } | d k rK d  } n  | j  d d   } | j  d d   } | j  d d   }	 | j  d d   }
 t j j |  } | d  k r t j j | |  n  | d  k r t j j | t	 |  |  n  |	 d  k rt j j
 | |	 |
  n  | d  k r9t j j | |  n  | d  k r[t j j | |  n  |
 d  k r| r| j t |
  k rt j j | |
  n  t t j |  j d	  i    d  S(
   NR   R  Rg   R9   R   R   R   R   s	   ../queue/(   RO   RK   R;   R)  R  R   R   t   switcht   change_nameR   t
   change_catt   change_scriptt   change_optsR   t   intt   set_priorityR^   RB   R   R  (   R   R!  RU   RT   R   R  Rg   R   R   R   R   R7  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  Y  s.    	'c         C   s  | |  _  | d d k rS xI| D], } | | d k r  t j j | |  q  q  Wn| d d k s | d d k s | d d k s | d d k reg  } x. | D]& } | | d k r | j |  q q W| d d k r t j j | |  qe| d d k rt j j | |  qe| d d k r<t j j | |  qe| d d k ret j j | |  qen  t	 j
 j |  rt j |  j |  } n t j |  j d  } | r| j d	  r| d	 7} n  t | |   d  S(
   Nt
   action_keyt   DeleteR<  t   Topt   Upt   Downt   Bottoms   ../queuet   /(   R  R   R   t
   remove_nzfRH  t   move_top_bulkt   move_up_bulkt   move_down_bulkt   move_bottom_bulkR;   R)  R  RB   R   R  t   endswithR^   (   R   R!  RT   RV   t   nzf_idsR   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  t  s2    	  (
   R   R   R   RB   R   R   R  R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s   	/	+		R   c           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
 e j 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 e j 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 e j d    Z e j d    Z RS(   c         C   s1   | |  _  | |  _ t |  _ g  |  _ | |  _ d  S(   N(   t   _QueuePage__roott   _QueuePage__web_dirRp   t   _QueuePage__verboset   _QueuePage__verbose_listt   _QueuePage__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s
    				c   	      K   s   t    s t   S| j d  } | j d  } | j d  } t |  j |  j |  j |  j |  j |  j |  j	 d | d | d | d t
 \ } } } |  _ |  _	 t d t j j |  j d  d t d | g d	 t  } | j   S(
   NRY   RZ   t   dummy2t   transR   s
   queue.tmplR   R   R   (   RJ   R   RO   R'   Rf  Re  Rg  Ri  Rh  t   __dict__Rn   R   R   R   R   R   R   R   (	   R   RT   RY   RZ   Rj  R   R   R   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    	 Kc         K   sy   t  |  } | r | S| j d  } t | j d   } | rc t j j | t d | d | n  t |  j |   d  S(   Nt   uidR  t
   keep_basic(	   Rz   RO   R   R   R   t   removeRp   R]   Re  (   R   RT   Ry   Rm  R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR:    s     #c         K   s9   t  |  } | r | St j j   t |  j |   d  S(   N(   Rz   R   R   R   R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   purge  s
     c         K   sl   t  |  } | r | S| j d  } | j d  } | rV | rV t j j | |  n  t |  j |   d  S(   NR!  RA  (   Rz   RO   R   R   R^  R]   Re  (   R   RT   Ry   R!  RA  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   removeNzf  s     c         K   s9   t  |  } | r | S|  j |  _ t |  j |   d  S(   N(   Rz   Rg  R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   tog_verbose  s
     c         K   sp   t  |  } | r | S| j d  } |  j j |  rJ |  j j |  n |  j j |  t |  j |   d  S(   NRm  (   Rz   RO   Rh  t   countRo  RH  R]   Re  (   R   RT   Ry   Rm  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   tog_uid_verbose  s     c         K   sH   t  |  } | r | S| j d  } t j |  t |  j |   d  S(   Nt   action(   Rz   RO   R;   t   change_queue_complete_actionR]   Re  (   R   RT   Ry   Ru  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRv    s     c         K   sl   t  |  } | r | S| j d  } | j d  } | rV | rV t j j | |  n  t |  j |   d  S(   Nt   uid1t   uid2(   Rz   RO   R   R   RP  R]   Re  (   R   RT   Ry   Rw  Rx  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRP    s     c         K   s   t  |  } | r | S| j d  } | j d d  } | rk | rk | j   rk t j j | t |   n  t |  j |   d  S(   NR!  R   R9   (	   Rz   RO   R   R   R   RT  RU  R]   Re  (   R   RT   Ry   R!  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRT    s     c         K   s   t  |  } | r | S| j d  } | j d d  } | rn | rn | d k rX d  } n  t j j | |  n  t |  j |   d  S(   NR!  R   R9   RK   (   Rz   RO   RK   R   R   RS  R]   Re  (   R   RT   Ry   R!  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRS    s     	c         K   s   t  |  } | r | S| j d  } | j d d  } | r | r | d k rX d  } n  t j j | |  t |  \ } } } } t j j | |  t j j | |  t j j	 | |  n  t
 |  j |   d  S(   NR!  R   R9   RK   (   Rz   RO   RK   R   R   RR  R
   RS  RT  RV  R]   Re  (   R   RT   Ry   R!  R   R   R   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRR    s     	c         k   sO   t  |  } | r | Vn1 d Vt j   t j j   d t j Vt t _ d  S(   Ns   Initiating shutdown...s    <br>SABnzbd-%s shutdown finished(	   Rz   R;   R   RB   R   R   R   Rn   R   (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    
c         K   sF   t  |  } | r | St j d  t j j   t |  j |   d  S(   Ni    (   Rz   R   R   R   R   R   R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   "  s     c         K   sC   t  |  } | r | St j d  t j   t |  j |   d  S(   Ni    (   Rz   R   R   R;   R   R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   *  s     
c         K   sW   t  |  } | r | S| j d d  } t j j | j d   t |  j |   d  S(   NRm  R9   t   ,(   Rz   RO   R   R   t   pause_multiple_nzot   splitR]   Re  (   R   RT   Ry   Rm  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   pause_nzo2  s     c         K   sW   t  |  } | r | S| j d d  } t j j | j d   t |  j |   d  S(   NRm  R9   Ry  (   Rz   RO   R   R   t   resume_multiple_nzoR{  R]   Re  (   R   RT   Ry   Rm  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt
   resume_nzo:  s     c         K   sQ   t  |  } | r | St j j | j d  | j d   t |  j |   d  S(   NR!  R   (   Rz   R;   R)  RV  RO   R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRV  B  s
     %c         K   sH   t  |  } | r | St j j d | j d   t |  j |   d  S(   Nt   avg_aget   dir(   Rz   R;   R)  t
   sort_queueRO   R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   sort_by_avg_ageI  s
     c         K   sH   t  |  } | r | St j j d | j d   t |  j |   d  S(   NR  R  (   Rz   R;   R)  R  RO   R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   sort_by_nameP  s
     c         K   sH   t  |  } | r | St j j d | j d   t |  j |   d  S(   NR?  R  (   Rz   R;   R)  R  RO   R]   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   sort_by_sizeW  s
     c         K   sK   t  |  } | r | St j j t | j d    t |  j |   d  S(   NRb   (   Rz   R   R   t   limit_speedR   RO   R^   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   set_speedlimit^  s
     c         K   sH   t  |  } | r | St j t | j d    t |  j |   d  S(   NRb   (   Rz   R   R   R   RO   R^   Re  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   set_pausee  s
     (   R   R   R   RB   R   R   R:  Rp  Rq  Rr  Rt  Rv  RP  RT  RS  RR  R   R   R   R|  R~  RV  R  R  R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s.   	



R   c           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
 e j d    Z e j d    Z e j d	    Z e j d
    Z e j d    Z e j d    Z RS(   c         C   sC   | |  _  | |  _ t |  _ g  |  _ t |  _ | |  _ d  |  _ d  S(   N(	   t   _HistoryPage__roott   _HistoryPage__web_dirRp   t   _HistoryPage__verboset   _HistoryPage__verbose_listt   _HistoryPage__failed_onlyt   _HistoryPage__primRK   t   _HistoryPage__edit_rating(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   m  s    						c         K   s  t    s t   S| j d  } | j d  } | j d  } | j d  } | d  k rd |  j } n  t |  j |  j  \ } } } |  j | d <| | d <t	 t
 j    | d <t
 j   r t
 j   r t | d <n  t d  }	 t j j   \ }
 } } } t |
 d	 |	 t | d	 |	 t | d	 |	 t | d	 |	 f \ | d
 <| d <| d <| d <t d | d | d |  j d |  j d | d |  \ | d <| d <| d <xP | d D]D } |  j d  k	 r| j d  |  j k rt | d <qd | d <qW| rt |  | d <n
 d | d <t |  | d <t |  | d <| d | d | d <| d | d k rr| d | d <n  | d s| d | d <n  t | d <t d t j j |  j d  d t d | g d t  } | j    S(   NRY   RZ   R[   t   failed_onlyt	   isverboset   rating_enableR   t   Bt   postfixt
   total_sizet
   month_sizet	   week_sizet   day_sizet   verboset   verbose_listt   linest   fetchedR'  R!  t   edit_ratingR9   t   finishR   R   s   history.tmplR   R   R   (!   RJ   R   RO   RK   R  R*   R  R  R  R   RG   R  R   R   Rn   R>   R   R   t   get_sumsR   R+   R  R  R    R   R   R   R   R   R   R   R   R   (   R   RT   RY   RZ   R[   R  R   R   R   R  t   grandt   montht   weekt   dayRO  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   v  sJ    	 
@H'


c         K   sB   t  |  } | r | St j j } | j   t |  j |   d  S(   N(   Rz   RB   R  R  t   remove_historyR]   R  (   R   RT   Ry   R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRp    s     
c         K   s   t  |  } | r | S| j d  } t | j d   } | rs | j d  } x! | D] } t | d | qV Wn  t |  j |   d  S(   NR  R  Ry  (   Rz   RO   R   R{  R1   R]   R  (   R   RT   Ry   R  R  t   jobs(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR:    s     c         K   sK   t  |  } | r | St | j d  | j d   t |  j |   d  S(   NR  R   (   Rz   R)   RO   R]   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s
     c         K   sv   t  |  } | r | St t | j d    } t j j } | rV t | j    n  | j	   t
 |  j |   d  S(   NR  (   Rz   R   R   RO   RB   R  R  R,   t   get_failed_pathst   remove_failedR]   R  (   R   RT   Ry   R  R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   purge_failed  s     
c         K   s,   t  |  } | r | St |  j |   d  S(   N(   Rz   R]   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   reset  s     c         K   s   t  |  } | r | S| j d  } | sD |  j |  _ g  |  _ ng |  j rY t |  _ nR | j d  } x@ | D]8 } | |  j k r |  j j |  qo |  j j |  qo Wt |  j	 |   d  S(   NR  Ry  (
   Rz   RO   R  R  Rp   R{  Ro  RH  R]   R  (   R   RT   Ry   R  R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyRr    s     	c         K   s9   t  |  } | r | S|  j |  _ t |  j |   d  S(   N(   Rz   R  R]   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   tog_failed_only  s
     c         K   sf   t    s t   S| j d  } | rP t j j } t | j |  | j |   St	 |  j
 |   d  S(   NR  (   RJ   R   RO   RB   R  R  R  R	  R
  R^   R  (   R   RT   R  R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s    	 c         K   s   t  |  } | r | S| j d d  } | j d d  j   } | j d  } | j d  } | j d  } | r | j   s t |  d k r t j | | | |  n. | r t j | | | | d | j d  n  t | d	 t	 t
 |  j |   d  S(
   NR  R9   R   R   R   R   i   R   R  (   Rz   RO   Rd   R   R   R;   R   R   R1   Rn   R^   R  (   R   RT   Ry   R  R   R   R   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s     $(c         K   s>   t  |  } | r | S| j d  |  _ t |  j |   d  S(   NR  (   Rz   RO   R  R]   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   show_edit_rating  s
     c         K   sC  i t  j d 6t  j d 6t  j d 6} t |  } | r: | Sy | j d  r| j d  d k rp | j d  n d  } | j d  d k r | j d  n d  } | j | j d   } | j d	  d
 k r | j d	  n d  } t j   rt  j	 j
 | j d  | | | |  qn  Wn n Xd  |  _ t |  j |   d  S(   Nt   spamt	   encryptedt   expiredt   sendt   videot   -t   audiot   rating_flagt   expired_hosts   <Host>R  (   R   t	   FLAG_SPAMt   FLAG_ENCRYPTEDt   FLAG_EXPIREDRz   RO   RK   RG   R  R   t   update_user_ratingR  R]   R  (   R   RT   t   flag_mapRy   R  R  t   flagt   detail(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   action_edit_rating  s     $ ***/	(   R   R   R   RB   R   R   Rp  R:  R  R  R  Rr  R  R  R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   l  s   		7R   c           B   sk   e  Z d    Z e j d    Z e j d    Z e j d    Z e j d    Z e j d    Z	 RS(   c         C   s2  | |  _  | |  _ | |  _ t | | d |  |  _ t | | d |  |  _ t | | d |  |  _ t	 | | d |  |  _
 t | | d |  |  _ t | | d |  |  _ t | | d |  |  _ t | | d |  |  _ t | | d	 |  |  _ t | | d
 |  |  _ t | | d |  |  _ d  S(   Ns   folders/s   notify/s   general/s	   indexers/s   rss/s   scheduling/s   server/s	   switches/s   categories/s   sorting/s   special/(   t   _ConfigPage__roott   _ConfigPage__web_dirt   _ConfigPage__primt   ConfigFolderst   folderst   ConfigNotifyt   notifyt   ConfigGeneralt   generalt   ConfigIndexerst   indexerst	   ConfigRssR   t   ConfigSchedulingt
   schedulingt   ConfigServert   servert   ConfigSwitchest   switchest
   ConfigCatst
   categoriest   ConfigSortingt   sortingt   ConfigSpecialR   (   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   ,  s    			c      	   K   s   t    s t   St |  j |  j  \ } } } t j   | d <t j | d <i  } x t j	   D] } i  | | <q^ W| | d <t j
 j d t d t  | d <t d t j j |  j d  d	 t d
 | g d t  } | j   S(   Nt   configfnt   cmdlinet   serverst   allRu  R  R   s   config.tmplR   R   R   (   RJ   R   R*   R  R  R   t   get_filenameR;   t   CMDLINER   R)  t	   scan_jobsRp   R   R   R   R   R   R   R   (   R   RT   Rq   R   R   t   newt   svrR   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   =  s    	 
c         k   sK   t  |  } | r | Vn- t d  Vt j   t d  Vt j j   d  S(   Ns   Initiating restart...<br />s   &nbsp<br />SABnzbd shutdown finished.<br />Wait for about 5 second and then click the button below.<br /><br /><strong><a href="..">Refresh</a></strong><br />(   Rz   R>   R;   R   RB   R   t   restart(   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  P  s    
c         k   sU   t  |  } | r | Vn7 t j   t d  Vt j   t d  Vt j j   d  S(   Ns   Initiating restart...<br />s   &nbsp<br />SABnzbd shutdown finished.<br />Wait for about 5 second and then click the button below.<br /><br /><strong><a href="..">Refresh</a></strong><br />(   Rz   R;   t   request_repairR>   R   RB   R   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR8  [  s    

c         K   s6   t  |  } | r | St |  t |  j |   d  S(   N(   Rz   t   orphan_deleteR^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR:  g  s
     
c         K   s6   t  |  } | r | St |  t |  j |   d  S(   N(   Rz   t
   orphan_addR^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   addn  s
     
(
   R   R   R   RB   R   R   R  R8  R:  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   +  s   	c         C   sV   |  j  d  } | rR t |  } t j j t j j   |  } t | d t	 n  d  S(   NR  t	   recursive(
   RO   R   R   R   R   RG   t   download_dirt   get_pathR   Rn   (   RT   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  u  s
    c         C   sY   |  j  d  } | rU t |  } t j j t j j   |  } t j	 j
 | d   n  d  S(   NR  (   RO   R   R   R   R   RG   R  R  R;   R)  t
   repair_jobRK   (   RT   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  |  s
    R  t   download_freet   complete_dirt	   cache_dirt	   admin_dirt   nzb_backup_dirR   t   dirscan_speedt
   script_dirt	   email_dirt   permissionst   log_dirt   password_fileR  c           B   s5   e  Z d    Z e j d    Z e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigFolders__roott   _ConfigFolders__web_dirt   _ConfigFolders__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    		c      	   K   s   t  j   s t   r t   St |  j |  j  \ } } } x' t D] } t j	 d |    | | <qB Wt
 j | d <t d t j j |  j d  d t d | g d t  } | j   S(   Nt   misct   restart_reqR   s   config_folders.tmplR   R   R   (   RG   t
   configlockRJ   R   R*   R  R  t   LIST_DIRPAGER   t
   get_configR;   t   RESTART_REQR   R   R   R   R   R   R   (   R   RT   Rq   R   R   t   kwR   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    c         K   s   t  |  } | r | Sx t D] } | j |  } | d  k r t |  } | d k rz t j d |  j | d t } n t j d |  j |  } | r t	 |  Sq q Wt
 j   t j   t |  j |   d  S(   NR  R   R  t   create(   R  R   (   Rz   R  RO   RK   R   R   R  R   Rn   R=   R;   t   check_incomplete_vs_completeR   R^   R  (   R   RT   Ry   R  Rb   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   saveDirectories  s     $

(   R   R   R   RB   R   R   R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   	t   par2_multicoret
   par_optionR   t   enable_unzipt   enable_filejoint   enable_tsjoint
   send_groupt   fail_on_crct   top_onlyt   enable_par_cleanupt	   auto_sortt   check_new_relt   auto_disconnectt   safe_postproct   no_dupest   replace_spacest   replace_dotst   replace_illegalt   auto_browsert   ignore_samplest   pause_on_post_processingt   quick_checkt   nicet   ionicet   ssl_typet
   pre_scriptt   pause_on_pwrart   ampmt	   sfv_checkt   folder_renamet   unpack_checkt
   quota_sizet	   quota_dayt   quota_resumet   quota_periodt	   pre_checkt   max_art_triest   max_art_optt   fail_hopelessR  t   rating_api_keyt   rating_feedbackt   rating_filter_enablet   rating_filter_abort_audiot   rating_filter_abort_videot   rating_filter_abort_encryptedt%   rating_filter_abort_encrypted_confirmt   rating_filter_abort_spamt    rating_filter_abort_spam_confirmt   rating_filter_abort_downvotedt   rating_filter_abort_keywordst   rating_filter_pause_audiot   rating_filter_pause_videot   rating_filter_pause_encryptedt%   rating_filter_pause_encrypted_confirmt   rating_filter_pause_spamt    rating_filter_pause_spam_confirmt   rating_filter_pause_downvotedt   rating_filter_pause_keywordst   unwanted_extensionst   action_on_unwanted_extensionsR  c           B   s5   e  Z d    Z e j d    Z e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigSwitches__roott   _ConfigSwitches__web_dirt   _ConfigSwitches__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    		c      	   K   s  t  j   s t   r t   St |  j |  j  \ } } } t j | d <t	 t j
 j  | d <t	 t j
 j  | d <x' t D] } t j d |    | | <q{ Wt  j j   | d <t   p d g | d <t | d <t d	 t j j |  j d
  d t d | g d t  } | j   S(   Nt   ntt	   have_nicet   have_ioniceR  R6  RK   R   t	   have_ampmR   s   config_switches.tmplR   R   R   (   RG   R  RJ   R   R*   R:  R9  R;   t   WIN32R   R   t   NICE_COMMANDt   IONICE_COMMANDt   SWITCH_LISTR   R  R6  t
   get_stringR#   R	   R   R   R   R   R   R   R   (   R   RT   Rq   R   R   R  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    
c         K   s   t  |  } | r | Sx t D]y } t j d |  } t | j |   } | d k rw | rw | j   j d d  } n  | j |  } | r t	 |  Sq Wt j
   t |  j |   d  S(   NR  R6  t   .R9   (   Rz   RB  R   R  R   RO   R:   R2  R   R=   R   R^   R8  (   R   RT   Ry   R  t   itemRb   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   saveSwitches  s     
(   R   R   R   RB   R   R   RF  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   	t   start_pausedt   no_penaltiesR   t   create_group_folderst   queue_complete_persR   t   allow_64bit_toolst   never_repairt   allow_streamingt   ignore_unrar_datest   rss_filenamest   osx_menut	   osx_speedt   win_menuR   t
   use_picklet   allow_incomplete_nzbt   randomize_server_ipt   no_ipv6t
   keep_awaket   overwrite_filest   empty_postprocR  t   wait_for_dfoldert   warn_empty_nzbt   enable_recursivet   sanitize_safet   enable_metat   flat_unpackt   warn_dupl_jobst   new_nzb_on_failuret
   size_limitt   folder_max_lengtht	   fsys_typet   movie_rename_limitt   nomedia_markert   req_completion_ratet   wait_ext_drivet   history_limitt   show_sysloadt   ipv6_serverst   rss_odd_titlest   prio_sort_listt   rating_hostR  c           B   s5   e  Z d    Z e j d    Z e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigSpecial__roott   _ConfigSpecial__web_dirt   _ConfigSpecial__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    		c      	   K   sU  t  j   s t   r t   St |  j |  j  \ } } } t j | d <g  t	 D]6 } | t
 j d |    t
 j d |  j   f ^ qO | d <g  t D]6 } | t
 j d |    t
 j d |  j   f ^ q | d <| d j g  t D]' } | t
 j d |  j   d f ^ q  t d t j j |  j d  d t d	 | g d
 t  } | j   S(   NR;  R  R  t   entriesR9   R   s   config_special.tmplR   R   R   (   RG   R  RJ   R   R*   Rq  Rp  R;   R?  t   SPECIAL_BOOL_LISTR   R  R   t   SPECIAL_VALUE_LISTt   extendt   SPECIAL_LIST_LISTRC  R   R   R   R   R   R   R   (   R   RT   Rq   R   R   R  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    GG?c         K   s   t  |  } | r | SxV t t t D]F } t j d |  } | j |  } | j |  } | r% t |  Sq% Wt j	   t
 |  j |   d  S(   NR  (   Rz   Rs  Rt  Rv  R   R  RO   R   R=   R   R^   Ro  (   R   RT   Ry   R  RE  Rb   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   saveSpecial#  s     
(   R   R   R   RB   R   R   Rw  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   	R?   R@   Rh   Rg   t   disable_api_keyt   refresh_ratet   cache_limitRH   t   enable_httpst
   https_portt
   https_certt	   https_keyt   https_chainR  c           B   sY   e  Z d    Z e j d    Z e j d    Z e j d    Z e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigGeneral__roott   _ConfigGeneral__web_dirt   _ConfigGeneral__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   ;  s    		c      	   K   s  d   } d   } t  j   s( t   r/ t   St |  j |  j  \ } } } t j   | d <t	 j
 | d <t	 j j r d | d <n
 d | d <g  } d g } t t	 j  }	 x> |	 D]6 }
 |
 j t  r |	 j |
  |	 j d |
  Pq q Wx. |	 D]& }
 |
 j t  r |	 j |
  Pq q Wx |	 D] } t j j |  } | d	 k r$| d
 k r$t j | d t t j  r$| |  } | rxu | D]A } | d k r| j | | |   n  | j | | |   qWq| d k r| j |  n  | j |  q$q$W| | d <| | d <d g | d <d | d <d g | d <d | d <| t  j   t  j    | d <| t  j   t  j    | d <t  j   | d <t    } t! |  d k  rg  } n  | | d <t  j"   | d <t  j#   | d <t  j$   | d <t  j%   | d <t  j&   | d <t  j'   | d <t  j(   | d <t  j)   | d <t  j*   | d  <t  j+ j,   | d! <t  j-   | d" <t  j.   | d# <t  j/   | d$ <t  j0 j1   | d% <t  j2   | d& <t  j3   | d' <t  j4 j5   | d( <t6 d) t j j7 |  j d*  d+ t8 d, | g d- t9  } | j:   S(.   Nc         S   s   g  } t  j j t j |   }  t  j j |  d  } | sQ t  j | t  j  rU | SxZ t |  D]L } t  j j	 |  j
 d d  } | d k rb | d k rb | j |  qb qb W| S(   Ns*   /templates/static/stylesheets/colorschemess   .cssR9   t   _svns   .svn(   R   R   R   R;   t   DIR_INTERFACESt   abspatht   accesst   R_OKR   t   basenameR2  RH  (   R   t   lstt   ddt   colort   col(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt
   ListColorsB  s    c         S   sN   |  rF | s8 y t  |  j   } Wq8 t k
 r4 |  SXn  d |  | f Sd Sd  S(   Ns   %s - %sR9   (   t   DEF_SKIN_COLORSR:   t   KeyError(   R  R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   add_colorN  s    R  R  i   t   have_ssli    RK   s   .svnR  R]  t   Mobilet   web_listt	   web_list2t
   web_colorst	   web_colort   web_colors2t
   web_color2R   R   t   languagei   t	   lang_listRx  R?   R@   R|  R}  R~  R  R{  Rh   Rg   t   bandwidth_limitRy  Rz  t   cleanup_listR   RH   t
   my_lcldataR   s   config_general.tmplR   R   R   (;   RG   R  RJ   R   R*   R  R  R   R  R;   R  t   newswrappert   HAVE_SSLR   R  Rc  t   DEF_STDINTFRo  t   insertt   DEF_STDCONFIGR   R   R  R  t   DEF_MAIN_TMPLR  RH  R   R  R   R  R  R!   R   R   t
   cherryhostt
   cherryportR|  R}  R~  R  R{  Rh   Rg   R   R  Ry  Rz  R  RC  R   RH   R  R  R   R   R   R   R   (   R   RT   R  R  Rq   R   R   t   wlistt   wlist2t
   interfacest   kt   webt   rwebt   colsR  t   listR   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   @  s    		
	5



		
c         K   s  t  |  } | r | SxT t D]L } t j d |  } t | j |   } | j |  } | r t |  Sq W| j d  } | r | t j	   k r t j	 j |  t
 |  t j j   n  | j d  } | r t j r | j   } n  t j j |  | j d  } | j d  }	 t |  y |	 j d  \ }	 }
 Wn d }
 n Xt t j |	  } |	 d k r}t j j d  n% t j j |  rt j j |	  n  t j j |
  | j d	  } | d  k rt |  } t j j |  n  t j   t t j  t  |  j! |   d  S(
   NR  R  R  R   R   s    - R9   RK   R  ("   Rz   t   GENERAL_LISTR   R  R   RO   R   R=   RG   R  R"   R;   R  t   clear_trans_cacheR?  R:   R  t   change_web_dirR{  R   R  R   R   R   t   existsR  RK   R   R  R   Rr   RB   R^   R  (   R   RT   Ry   R  RE  Rb   R  R  R   R   R  t   web_dir2_pathR  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   saveGeneral  sL     



c         K   sY   t  |  } | r | St j d  t j j t j    t j   t	 |  j
 |   d  S(   Ns   API Key Changed(   Rz   Ru   R  RG   Rx   R   R   t   create_api_keyR   R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   generateAPIKey  s     
c         K   sY   t  |  } | r | St j d  t j j t j    t j   t	 |  j
 |   d  S(   Ns   NZB Key Changed(   Rz   Ru   R  RG   R   R   R   R  R   R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   generateNzbKey  s     
(	   R   R   R   RB   R   R   R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  :  s
   	i6
c         C   s   y |  j  d  \ }  } Wn+ y t |  j   } WqG d } qG Xn Xt t j |   } t j j |  s t	 d t
 |   St j j |   t j j |  d  S(   Ns    - R9   s   Cannot find web template: %s(   R{  R  R:   R   R;   R  R   R   R  R=   R   RG   R   R   R  (   R   R  t   web_dir_path(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s    R  c           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
 e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigServer__roott   _ConfigServer__web_dirt   _ConfigServer__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    		c      	   K   s>  t  j   s t   r t   St |  j |  j  \ } } } i  } t j   } x | D]y } | | j	 d t
  | | <t j j |  \ } }	 }
 } | rT t |  t |	  t |
  t |  f | | d <qT qT W| | d <t j j r d | d <n
 d | d <t d t j j |  j d  d	 t d
 | g d t  } | j   S(   Nt   safet   amountsR  i   R  i    R   s   config_server.tmplR   R   R   (   RG   R  RJ   R   R*   R  R  R   R   t   get_dictRn   R   R   R  R   R;   R  R  R   R   R   R   R   R   R   (   R   RT   Rq   R   R   R  R  R  t   tR   t   wt   dR   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s"    9

c         K   s   t  | |  j t  S(   N(   t   handle_serverR  Rn   (   R   RT   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   addServer'  s    c         K   s   t  | |  j  S(   N(   R  R  (   R   RT   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt
   saveServer,  s    c         K   s   t  | |  j  S(   N(   t   handle_server_testR  (   R   RT   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt
   testServer0  s    c         K   sS   t  |  } | r | Sd | d <| j d  | d <t |  t |  j |   d  S(   NR  t   sectionR  t   keyword(   Rz   RO   R%   R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   delServer5  s     

c         K   sT   t  |  } | r | S| j d  } | r> t j j |  n  t |  j |   d  S(   NR  (   Rz   RO   R   R   t   clear_serverR^   R  (   R   RT   Ry   R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   clrServer>  s     c         K   s   t  |  } | r | S| j d  } | rt t j d |  } | j j | j    t j   t j j	 | |  n  t
 |  j |   d  S(   NR  R  (   Rz   RO   R   R  t   enableR   R   R   R   t   update_serverR^   R  (   R   RT   Ry   R  R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   toggleServerG  s     
(   R   R   R   RB   R   R   R  R  R  R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   			c         C   sb   d } d } |  } xI | r] | r4 d |  | f } n
 d |  } t  j d |  } | d 7} q W| S(   Ni    i   s   %s@%ds   %sR  (   R   R  (   R  t   numR  t   new_name(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   unique_svr_nameU  s    	
c   
      C   s  t  |   } | r | S|  j d d  j   } | sD t t d   S|  j d d  j   } | s |  j d d  j   s d } n d } | |  d <n  |  j d d  j   d k r d	 |  d <n  |  j d
  d	 k r t | |  } | r | Sn  | } d  } |  j d  } | r(t j d |  } n  | r7| } n t j d |  } | r^t	 |  } n  x- d D]% }	 |	 |  j
   k red  |  |	 <qeqeW| r| r| j |   n d  } t j | |   t j   t j j | |  | rt | |    n  d  S(   NR?   R9   s   Server address requiredR@   t   sslt   119t   563t   connectionst   1R  R  R  t
   fillservert   optional(   R  R  R  R  (   Rz   RO   Rd   R=   R>   RA   RK   R   R  R  t   keyst   set_dictR  R   R   R   R  R^   (
   RT   RS   t   new_svrRy   R?   R@   R  R  t
   old_serverR  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  e  sN     		
c         C   s   t  |   \ } } | S(   N(   R   (   RT   RS   t   resultRy   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s    R  c           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
 e j 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 e j d    Z RS(   c         C   sC   | |  _  | |  _ | |  _ d  |  _ t |  _ t |  _ t |  _ d  S(   N(	   t   _ConfigRss__roott   _ConfigRss__web_dirt   _ConfigRss__primRK   t   _ConfigRss__refresh_readoutRp   t   _ConfigRss__refresh_downloadt   _ConfigRss__refresh_forcet   _ConfigRss__refresh_ignore(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    						c      
   K   s*  t  j   s t   r t   St |  j |  j  \ } } } t d t  | d <| d g  k } t	 d t  | d <| d g  k } t  j
   | d <i  } t j   } x | D] }	 | |	 j   | |	 <| |	 j   }
 |
 | |	 d <g  |
 D]" } t t j j | d   ^ q | |	 d <t |
  | |	 d <| | |	 d	 <| | |	 d
 <t j |	  | |	 d <t | |	 d  | |	 d <q W| j d d  } | | d <| | d <t j t d  t j t j j     | d <| rt |  j  } t j d |  | st  |  _! t  |  _" t  |  _# n  t j j$ | d |  j! d |  j" d |  j# d | } | rft j j%   n  d  |  _ | | d <t' |  \ | d <| d <| d <n  d } t( d  } x$ | t) |  | k r| d 7} qW| t) |  | d <t* d t+ j, j- |  j d   d! t. d" | g d# t/  } | j0   S($   NR   R   R   t   rss_ratet   filtersi   t   filter_statest   filtercountt   pick_catt   pick_scriptt   linkt   urit   baselinkR_   R9   t   active_feedR   s   %H:%Mt   rss_nexts   RSS READOUT = %st   downloadt   forcet   ignoreFirstt   readoutt   errort
   downloadedt   matchedt	   unmatchedi   t   FeedR   s   config_rss.tmplR   R   R   (1   RG   R  RJ   R   R*   R  R  R#   Rn   R$   R  R   R   R  R  R   R;   R   t   convert_filterR   RP   t
   quote_plusR   RO   t   timet   strftimeR   t	   localtimet   next_runR  Ru   R  Rp   R  R  R  t   run_feedR  RK   t	   GetRssLogRw   R4  R   R   R   R   R   R   R   (   R   RT   Rq   R   R   R  R  R   t   feedsR_   R  t   fR  R  Ry   t   unumRe   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s\    7 

.		!	
$c         K   sE   t  |  } | r | St j j | j d   t |  j |   d  S(   NR  (   Rz   RG   R  R   RO   R`   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   save_rss_rate  s
     c         K   s   t  |  } | r | S| j d  d  k	 r5 | d =n  y t j   | j d  } Wn t k
 rk d  } n X| r t | j d   r | j |  t j   n  t	 |  j
 |   d  S(   NR  R_   R  (   Rz   RO   RK   R   R   R  Rf   R  R   R`   R  (   R   RT   Ry   RG   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   upd_rss_feed  s     

c         K   s   t  |  } | r | Sy t j   | j d  } Wn t k
 rL d  } n Xd | k rf d | d <n  | r t | j d   r | j |  t j   n  t	 |  j
 |   d  S(   NR_   R  i    R  (   Rz   R   R   RO   R  RK   Rf   R  R   R`   R  (   R   RT   Ry   RG   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   save_rss_feed  s     
c         K   s   t  |  } | r | Sy t j   | j d  } Wn t k
 rL d  } n Xt rw | j j | j    t j	   n  | j d  r t
 |  j |   n t |  j |   d  S(   NR_   t   table(   Rz   R   R   RO   R  RK   RG   R  R   R   R^   R  R`   (   R   RT   Ry   RE  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   toggle_rss_feed  s     
c         K   s  t  |  } | r | St | j d   j d  } t | j d   } | r| ry t j   | } Wn t k
 r d  } n X| r | r t j | |  t	 j
 j |  t j   | |  _ t |  _ t |  _ t |  _ t |  j |   qt |  j |   n t |  j |   d  S(   NR_   s   []R  (   Rz   Rf   RO   Rd   R   R   R  RK   t	   ConfigRSSR;   R   t
   clear_feedR   R  Rp   R  R  Rn   R  R`   R  R^   (   R   RT   Ry   R_   R  RG   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   add_rss_feed'  s*     

				c      	   K   s  t  |  } | r | Sy t j   | j d  } Wn# t k
 rX t |  j |   n X| j d  } t |  r} d } n  t | j d   } t | j d   } t | j d   } | j d  } | j d d	  }	 | r| j	 j
 t | j d
 d   | | | | j d  t |  | |	 f  t | j d
 d   }
 | j d d  } | rt |  |
 k r| j	 j t |
  t |   n  t j   n  t |  j |   d  S(   NR_   R   R9   R   R   R   t   filter_textt   enabledt   0R   i    t   filter_typet	   new_index(   Rz   R   R   RO   R  R`   R  Rc   RN   R  Rm   RU  R   R   t   moveR   (   R   RT   Ry   RG   R   R   R   t   priot   filtR  R   R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   upd_rss_filterC  s0      	3"c         O   sl   t  |  } | r | Sd | d <| j d  | d <t |  t j j | j d   t |  j |   d  S(   NR   R  R_   R  (   Rz   RO   R%   R;   R   R	  R^   R  (   R   RU   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   del_rss_feedc  s     

c         K   s   t  |  } | r | Sy t j   | j d  } Wn# t k
 rX t |  j |   n X| j j t	 | j d d    t j
   t |  j |   d  S(   NR_   R   i    (   Rz   R   R   RO   R  R`   R  R  R:  RU  R   (   R   RT   Ry   RG   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   del_rss_filtern  s     "
c         O   si   t  |  } | r | Sd | k rS | d } | |  _ t |  _ t |  _ t |  _ n  t |  j |   d  S(   NR_   (	   Rz   R  Rn   R  R  Rp   R  R`   R  (   R   RU   RT   Ry   R_   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   download_rss_feed|  s     
			c         O   s@   t  |  } | r | St j j | d  t |  j |   d  S(   NR_   (   Rz   R;   R   t   clear_downloadedR`   R  (   R   RU   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   clean_rss_jobs  s
     c         O   si   t  |  } | r | Sd | k rS | d } | |  _ t |  _ t |  _ t |  _ n  t |  j |   d  S(   NR_   (	   Rz   R  Rp   R  R  Rn   R  R`   R  (   R   RU   RT   Ry   R_   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   test_rss_feed  s     
			c         K   s  t  |  } | r | S| j d  } | j d  } | j d  } t j j | |  } | r| j d  } | j d  } | j d  }	 | j d  }
 | r | j   r t j | | |	 | |
 |  n% | r t j | | |	 | |
 |  n  t j j | |  n  t	 |  j
 |   d  S(   NR_   R   R   R   R   R   R  (   Rz   RO   R;   R   t
   lookup_urlR   R   R   t   flag_downloadedR`   R  (   R   RT   Ry   R_   R   R   t   attR   R   R   R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s$     c         O   s6   t  |  } | r | St j   t |  j |   d  S(   N(   Rz   R   t	   force_rssR`   R  (   R   RU   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   rss_now  s
     
(   R   R   R   RB   R   R   R  R  R  R  R
  R  R  R  R  R  R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   		> R   R   t	   pause_allR   R  t
   speedlimitt
   pause_postt   resume_postt   scan_foldert   rss_scanR  R  c           B   sG   e  Z d    Z e j d    Z e j d    Z e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigScheduling__roott   _ConfigScheduling__web_dirt   _ConfigScheduling__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    		c      	   K   s  d   } t  j   s t   r& t   St |  j |  j  \ } } } g  } | j t  |   } g  | d <d } g  | d <xt	 j
 d t  D]}	 |	 d }
 | d j |
  y" |
 j d d  \ } } } } Wn
 q n X| j   } y | j d d  \ } } Wn d } n X| j   } | d	 k r<t d
  } n  | | k r[t d |  } nW y | j   \ } } Wn t k
 rd } n X| d k rt d |  d | } n  | d k rd } nX | d k rd } nC | d k rd } n. d j g  | D] } | j | d  ^ q } | d t |  d t |  | d | | f f } | d j |  | d 7} q Wi  } x" | D] } t d |  | | <q~Wx+ t j   D] } | j |  | | | <qW| | d <| | d <t d t j j |  j d  d t d | g d t  } | j   S(    Nc          S   s   i  }  t  d  |  d <t  d  |  d <t  d  |  d <t  d  |  d <t  d	  |  d
 <t  d  |  d <t  d  |  d <t  d  |  d <|  S(   Nt   DailyR    t   MondayR  t   Tuesdayt   2t	   Wednesdayt   3t   Thursdayt   4t   Fridayt   5t   Saturdayt   6t   Sundayt   7(   R>   (   t   days(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   get_days  s    t
   schedlinesi   t   taskinfot
   all_eventsi   t    R9   R  t   offs   sch-t   enable_servert   disable_servert   1234567R(  t   12345t   Weekdayst   67t   Weekendss   , s   **s   %02ds   %s %st   actionst   actions_lngR   s   config_scheduling.tmplR   R   R   (   R=  R>  (   RG   R  RJ   R   R*   R'  R&  Ru  t   _SCHED_ACTIONSR   t   sort_schedulesRp   RH  R{  Rd   R>   R2   t
   ValueErrorR   RO   RU  R   R   R   R   R   R   R   R   (   R   RT   R7  Rq   R   R   RD  t	   day_namest   snumt   evRO  R   t   ht   day_numbersRu  Rb   t   actR  t   days_of_weekt   iRE  RE  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     sl    		


"

			.3

c   
      K   s  t  |  } | r | S| j d  } | j d  } d j g  | j d d  D] } t |  ^ qM  } | sw d } n  | j d  } | j d  } | j   j   } | d k r d
 } n | d k r d } n  | r| r| r| r| d k r| o| j   sjd } qjnW | t k r(d } nB | t j	   k rd| d
 k rU| } d } qj| } d } n d  } | rt j   }	 |	 j d | | | | | f  t j j |	  qn  t j   t j d t  t |  j |   d  S(   Nt   minutet   hourR9   t
   daysofweekR?  Ru  t	   argumentsR<  R  R  R<  t   disableR  R   R=  R>  s   %s %s %s %s %sR  (   R<  R  (   R<  RU  (   Rz   RO   R   R4  Rd   R:   R   RF  R   R   RK   RG   t	   schedulesRH  R   R   R   R  Rn   R^   R%  (
   R   RT   Ry   RQ  RR  t   xRO  Ru  RT  t   sched(    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   addSchedule  sH     4							
c         K   s   t  |  } | r | St j   } | j d  } | rc | | k rc | j |  t j j |  n  t j   t j	 d t
  t |  j |   d  S(   NRO  R  (   Rz   RG   RV  RO   Ro  R   R   R   R   R  Rn   R^   R%  (   R   RT   Ry   RV  RO  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   delScheduleE  s     
(   R   R   R   RB   R   R   RY  RZ  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   	M-R  c           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
 RS(   c         C   s(   | |  _  | |  _ | |  _ g  |  _ d  S(   N(   t   _ConfigIndexers__roott   _ConfigIndexers__web_dirt   _ConfigIndexers__primt   _ConfigIndexers__bookmarks(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   U  s    			c      	   K   s  t  j   s t   r t   St |  j |  j  \ } } } t  j   | d <t  j j	   | d <t
 t  j    | d <t
 t  j    | d <t  j   | d <|  j | d <t  j   | d <t  j   | d <t
 t  j    | d	 <t d
 t j j |  j d  d t d | g d t  } | j   S(   Nt   username_newzbint   password_newzbint   newzbin_bookmarkst   newzbin_unbookmarkt   bookmark_ratet   bookmarks_listt   matrix_usernamet   matrix_apikeyt   matrix_del_bookmarkR   s   config_indexers.tmplR   R   R   (   RG   R  RJ   R   R*   R]  R\  R   R   R   RU  Ra  Rb  Rc  R^  Re  Rf  Rg  R   R   R   R   R   R   R   (   R   RT   Rq   R   R   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   [  s    c         K   s   t  |  } | r | St j j | j d   t j j | j d   t j j | j d   t j j | j d   t j j | j d   t j	 j | j d   t j
 j | j d   t j j | j d   t j   t |  j |   d  S(	   NR_  R`  Ra  Rb  Rc  Re  Rf  Rg  (   Rz   RG   R   R   RO   R   Ra  Rb  Rc  Re  Rf  Rg  R   R   R^   R[  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   saveNewzbinr  s     
c         K   s   t  |  } | r | St j j | j d   t j j | j d   t j j | j d   t j   t	 |  j
 |   d  S(   NRe  Rf  Rg  (   Rz   RG   Re  R   RO   Rf  Rg  R   R   R^   R[  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt
   saveMatrix  s     
c         K   s?   t  |  } | r | St j j d t  t |  j |   d  S(   NR  (   Rz   R   R   t   runRn   R^   R[  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   getBookmarks  s
     c         K   s>   t  |  } | r | St j j   |  _ t |  j |   d  S(   N(   Rz   R   R   t   bookmarksListR^  R^   R[  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   showBookmarks  s
     c         K   s5   t  |  } | r | Sg  |  _ t |  j |   d  S(   N(   Rz   R^  R^   R[  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   hideBookmarks  s
     	(   R   R   R   RB   R   R   Rh  Ri  Rk  Rm  Rn  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  T  s   	R  c           B   sG   e  Z d    Z e j d    Z e j d    Z e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigCats__roott   _ConfigCats__web_dirt   _ConfigCats__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    		c      	   K   s  t  j   s t   r t   St |  j |  j  \ } } } t  j   r` t  j   r` t	 | d <n  t
 d t	  | d <t j   } t |  d k | d <t  j j   | d <i d d 6d	 d
 6d d 6d d 6d d 6t d 6} g  } x[ t | j    D]G } | | j   }	 | |	 d <|	 d j d d  |	 d <| j |	  q W| j d |  | | d <t d t j j |  j d  d t d | g d t  }
 |
 j   S(   NR   R   R   i   t	   have_catst   defdirR9   R  s   -1R   R   R  t   newzbinR   R#  s   &quot;t   slotinfoR   s   config_cat.tmplR   R   R   (   RG   R  RJ   R   R*   Rq  Rp  R   R   Rn   R#   R   t   get_categoriesR   R  R  t   DEFAULT_PRIORITYt   sortedR  R  R2  RH  R  R   R   R   R   R   R   R   (   R   RT   Rq   R   R   R  t   emptyRu  R   R&  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s*    0

c         K   sS   t  |  } | r | Sd | d <| j d  | d <t |  t |  j |   d  S(   NR  R  R  R  (   Rz   RO   R%   R^   Ro  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR:    s     

c         K   s   t  |  } | r | S| j d d  } | d k r= | } n | j d d  j d  } | r | rw t j d |  n  | j   } | j d  r t | d  | d <n  t j | |  n  t j   t	 |  j
 |   d  S(   NR  R    t   newnameR9   s    []R  R  (   Rz   RO   Rd   R   R:  R:   R   t	   ConfigCatR   R^   Ro  (   R   RT   Ry   R  Rz  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s      	
(   R   R   R   RB   R   R   R:  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   		t   enable_tv_sortingt   tv_sort_stringt   tv_categoriest   enable_movie_sortingt   movie_sort_stringt   movie_sort_extrat   movie_extra_foldert   enable_date_sortingt   date_sort_stringt   movie_categoriest   date_categoriesR  c           B   s5   e  Z d    Z e j d    Z e j d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _ConfigSorting__roott   _ConfigSorting__web_dirt   _ConfigSorting__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    		c      	   K   s   t  j   s t   r t   St |  j |  j  \ } } } t  j j   | d <x' t	 D] } t
 j d |    | | <qU Wt t  | d <t d t j j |  j d  d t d | g d t  } | j   S(	   NR  R  R   R   s   config_sorting.tmplR   R   R   (   RG   R  RJ   R   R*   R  R  R  R  t	   SORT_LISTR   R  R$   Rp   R   R   R   R   R   R   R   (   R   RT   Rq   R   R   R  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR     s    c         K   s   t  |  } | r | Sy | d | d <Wn n Xy | d | d <Wn n Xy | d | d <Wn n XxT t D]L } t j d |  } t | j |   } | j |  } | rq t |  Sqq Wt j   t	 |  j
 |   d  S(   Nt	   movie_catR  t   date_catR  t   tv_catR~  R  (   Rz   R  R   R  R   RO   R   R=   R   R^   R  (   R   RT   Ry   R  RE  Rb   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   saveSorting		  s.     
(   R   R   R   RB   R   R   R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR    s   	R   c           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
 e j d    Z e j d    Z e j d	    Z e j d
    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _Status__roott   _Status__web_dirt   _Status__prim(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   )	  s    		c         K   s  t    s t   St |  j |  j  \ } } } t j | d <t j | d <t t	 j
    | d <d  | d <t j j d t d t  | d <t j   | d <g  | d	 <xt j j D]} g  } d
 } x( | j D] } | j r | d 7} q q Wx | j D] } | j }	 d }
 d } d } |	 r}|	 j } | j } t |	 j  }
 y t | j  } Wn t | j  } n Xt | j  } n  | j | j |
 | | f  | j r | d 7} q q W| j  r| p| j! rt" | j   } n  | j# r | j$ r t% d  } n  | j&   | d	 j | j' d | | | j( | j) | j! | j* | j+ f	  q Wg  } xW t j, j-   D]F } | j. d t/ d   j. d t/ d   } | j0 d
 t" |   qbW| | d <t1 d t2 j3 j4 |  j d  d t5 d | g d t6  } | j7   S(   Nt   logfilet
   weblogfilet   loglevelt   lastmailR  Ru  R  R  R  i    i   R9   s   &nbsp;Resolving addresst   WARNINGs   WARNING:t   ERRORs   ERROR:R   R   s   status.tmplR   R   R   (8   RJ   R   R*   R  R  R;   t   LOGFILEt
   WEBLOGFILER4  RG   t	   log_levelRK   R)  R  Rp   R   R  R   R   R  t   idle_threadst	   connectedt   busy_threadst   articlet   nzfR7  R   R   t   subjectR1  RH  t   thrdnumRv   t   errormsgR   RC   R   R>   t   sortR   R  RI  R  R  t
   GUIHANDLERt   contentR2  Rw   R  R   R   R   R   R   R   R   (   R   RT   t   headerR   R   R  t   busyR  t   nwR  t   art_namet   nzf_namet   nzo_nameR  R7  R  R  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   .	  s`    	 

					
#*
c         K   s?   t  |  } | r | St j j d t  t |  j |   d  S(   NR  (   Rz   R   R   t   reset_quotaRn   R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  r	  s
     c         K   s9   t  |  } | r | St j j   t |  j |   d  S(   N(   Rz   R   R   t
   disconnectR^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  y	  s
     c         K   sM   t  |  } | r | Sy t j j   Wn n Xt j j j t j d d  S(   Ns   application/x-downloadt
   attachment(	   Rz   R;   t
   LOGHANDLERt   flushRB   t   libt   statict
   serve_fileR  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   showlog	  s     c         K   sC   t  |  } | r | St j r; t j j j t j d d  Sd Sd  S(   Ns   application/x-downloadR  s   Web logging is off!(   Rz   R;   R  RB   R  R  R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   showweb	  s     	c         K   s9   t  |  } | r | St j j   t |  j |   d  S(   N(   Rz   R;   R  t   clearR^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   clearwarnings	  s
     c         K   sO   t  |  } | r | St j j | j d   t j   t |  j |   d  S(   NR  (	   Rz   RG   R  R   RO   R   R   R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   change_loglevel	  s     
c         K   sR   t  |  } | r | St j j | j d   t j d  t |  j |   d  S(   NR  g      ?(	   Rz   R   R   t   unblockRO   R  t   sleepR^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   unblock_server	  s     c         K   s6   t  |  } | r | St |  t |  j |   d  S(   N(   Rz   R  R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR:  	  s
     
c         K   s6   t  |  } | r | St |  t |  j |   d  S(   N(   Rz   R  R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  	  s
     
(   R   R   R   RB   R   R   R  R  R  R  R  R  R  R:  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   (	  s   	D
			c           C   s
   t  d  S(   Ns   Configuration is locked(   R=   (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   	  s    c         C   s2   d t  j t d  t d  t |   t d  f S(   Ns   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
           <title>SABnzbd %s - %s</title>
</head>
<body>
<h3>%s</h3>
%s
<br><br>
<FORM><INPUT TYPE="BUTTON" VALUE="%s" ONCLICK="history.go(-1)"></FORM>
</body>
</html>
s   ERROR:s   Incorrect parametert   Back(   R;   R   R>   R   (   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR=   	  s    c         C   s_   y/ t  | d  } t | j    } | j   Wn d } n Xd |  t d  |  t |  f S(   Nt   rs   FILE NOT FOUND
s   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
           <title>%s</title>
</head>
<body>
<FORM><INPUT TYPE="BUTTON" VALUE="%s" ONCLICK="history.go(-1)"></FORM>
<h3>%s</h3>
<code><pre>
%s
</pre></code><br/><br/>
</body>
</html>
R  (   t   openR   t   readt   closeR>   R    (   R  R   R  Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   ShowFile	  s    
c         C   sR   y t  |  } Wn d } n Xd t |   t d  t |   t t |   f S(   Ns   Encoding Error
s.  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
           <title>%s</title>
</head>
<body>
           <FORM><INPUT TYPE="BUTTON" VALUE="%s" ONCLICK="history.go(-1)"></FORM>
           <h3>%s</h3>
           <code><pre>
           %s
           </pre></code><br/><br/>
</body>
</html>
R  (   R   R   R>   R    R   (   R  t   stringRy   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  	  s
    
c         C   s-   d t  |   t d  t d  t  |   f S(   Ns	  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
           <title>%s</title>
</head>
<body>
           <FORM><INPUT TYPE="BUTTON" VALUE="%s" ONCLICK="history.go(-1)"></FORM>
           <br/><br/>
           %s
           <br/><br/>
</body>
</html>
R  s"   Job "%s" was re-added to the queue(   R    R>   (   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   ShowOK
  s    c            s0  d   } t  j j |       j   } | j   f d    g  | D]. }   | d d d k rD |   |  ^ qD } g  | D]. }   | d d d k r |   |  ^ q } g    j   D]  }   | d d k r | ^ q } | j   f d    g  | D] } t   | d	  ^ q} | | | f S(
   Nc         S   s   |  j  d d  } t |  j  d d   } | j   rR d t j   | | f } n | } t j j |  rs d } n t |  j  d d   } | | d t |  j  d d  j	 d   |  j  d d  | f S(	   NR   R9   t   titles;   <a href="https://%s/browse/post/%s/" target="_blank">%s</a>R    R   t   rulei    (
   RO   R   R   RG   R   R;   R   t   special_rss_siteRU  Rc  (   R  R   R  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   make_item
  s    	"c            s(     |  j  d d    | j  d d  S(   Nt   orderi    (   RO   (   RW  t   y(   R  (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   <lambda>*
  s    R   i    t   GR  t   Dc            s.   t    | j d d    |  j d d   S(   NR  i    (   RU  RO   (   RW  R  (   R  (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  1
  s    R  (   R;   R   t   show_resultR  R  R   (   R_   R  t   namesR  t   goodt   badt   dnamest   done(    (   R  s%   /var/www/SABnzbd/sabnzbd/interface.pyR  
  s    	;;3'c   	         s  t  j j |       j   } | j   f d    t |  j d d  j d d   } g  } xJ | D]B }   | } | d d d k re | j d	 t | d
   qe qe Wg  } x< | D]4 }   | } | d d d k r | j d  q q Wg  } x< | D]4 }   | } | d d d k r | j d  q q W| rd t |   t	 d  t |   t	 d  t	 d  d j
 |  t	 d  d j
 |  t	 d  d j
 |  f
 Sd t |   t	 d  t |   t	 d  d j
 |  f Sd  S(   Nc            s(     |  j  d d    | j  d d  S(   NR  i    (   RO   (   RW  R  (   R  (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  =
  s    R]  s   %2Ft   ?s   %3FR   i    R  s   %s<br/>R  R  R9   R  s'  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
               <title>%s</title>
</head>
<body>
               <form>
               <input type="submit" onclick="this.form.action='.'; this.form.submit(); return false;" value="%s"/>
               </form>
               <h3>%s</h3>
               %s<br/><br/>
               <b>%s</b><br/>
               %s
               <br/>
               <b>%s</b><br/>
               %s
               <br/>
               <b>%s</b><br/>
               %s
               <br/>
</body>
</html>
R  s<   Jobs marked with a '*' will not be automatically downloaded.t   Matcheds   Not matchedt
   Downloadeds  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
               <title>%s</title>
</head>
<body>
               <form>
               <input type="submit" onclick="this.form.action='.'; this.form.submit(); return false;" value="%s"/>
               </form>
               <h3>%s</h3>
               <b>%s</b><br/>
               %s
               <br/>
</body>
</html>
s   Downloaded so far(   R;   R   R  R  R  R    R2  RH  R   R>   R   (	   R_   R  R  t   qfeedt   doneStrRW  R  t   goodStrt   badStr(    (   R  s%   /var/www/SABnzbd/sabnzbd/interface.pyt
   ShowRssLog7
  s.    $
"

0;t   email_endjobt
   email_fullt   email_servert   email_tot
   email_fromt   email_accountt	   email_pwdt	   email_rsst   growl_enablet   growl_servert   growl_passwordt   ntfosd_enablet   ncenter_enableR  c           B   sY   e  Z d    Z e j d    Z e j d    Z e j d    Z e j d    Z RS(   c         C   s(   | |  _  | |  _ | |  _ d  |  _ d  S(   N(   t   _ConfigNotify__roott   _ConfigNotify__web_dirt   _ConfigNotify__primRK   t   _ConfigNotify__lastmail(   R   R   RS   R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   
  s    			c      	   K   s[  t  j   s t   r t   St |  j |  j  \ } } } t j | d <|  j	 | d <t
 | d <t j j   | d <t j o t t j j    | d <x* t D]" } t j d |  j   | | <q Wx* t D]" } t j d |  j   | | <q Wt | d <t  j j   | d	 <t j j | d
 <t d t j j |  j d  d t d | g d t  } | j   S(   Nt   my_homeR  t
   have_growlt   have_ntfosdt   have_ncenterR  t   growlt   notify_listt   notify_classest   notify_textsR   s   config_notify.tmplR   R   R   (   RG   R  RJ   R   R*   R  R  R;   t   DIR_HOMER  Rn   t   growlerR  t	   DARWIN_MLR   t   ncenter_patht
   LIST_EMAILR   R  RC  t
   LIST_GROWLt   NOTIFY_KEYSR  t   NOTIFICATIONR   R   R   R   R   R   R   (   R   RT   Rq   R   R   R  R   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   
  s$    
"  
c         K   s  t  |  } | r | Sx^ t D]V } t j d |  j t | j |    } | r t t d  | t	 |  f  Sq Wx^ t
 D]V } t j d |  j t | j |    } | r~ t t d  | t	 |  f  Sq~ Wt j j | j d d   t j   d  |  _ t |  j |   d  S(   NR  s   Incorrect value for %s: %sR  R  R9   (   Rz   R  R   R  R   R   RO   R=   R>   R   R  RG   R  R   RK   R  R^   R  (   R   RT   Ry   R  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt	   saveEmail
  s     *$*$
	c         K   sJ   t  |  } | r | St d d  d d  d d   |  _ t |  j |   d  S(   NR  R}   RT   (   Rz   R3   RK   R  R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   testmail
  s
     c         K   sE   t  |  } | r | St d d  d d  d d   t |  j |   d  S(   NR  R}   RT   (   Rz   R4   RK   R^   R  (   R   RT   Ry   (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   testnotification
  s
     (	   R   R   R   RB   R   R   R  R  R  (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR  
  s
   	i2   c         C   s!  |  j  d d  }  d  } t   } d | j _ d | j _ d | j _ d | j _ t d | d |  \ } } } x{| D]s} t	   }	 t
 | d	  |	 _ | d
 |	 _ | s | d	 } n | d	 | k  r | d	 } n  | d r d t j   | d f |	 _ n0 | d r| d |	 _ n |  |	 _ | d |	 _ g  }
 x | d D] } |
 j d | d
  g  } x# | d D] } | j d |  qlW| j   | j   x | D] } |
 j |  qW|
 j d  q@Wd j |
  |	 _ | j |	  qv Wt
 |  | j _ t
 t j    | j _ | j   S(   NR   R9   s   SABnzbd Historys   Overview of completed downloadss,   http://sourceforge.net/projects/sabnzbdplus/t   enRZ   R[   t	   completedR  R0   s   https://%s/browse/post/%s/t   url_infoR!  t	   stage_logs   <tr><dt>Stage %s</dt>RD  s   <dd>%s</dd>s   </tr>(   R2  RK   R   t   channelR  t   descriptionR  R  R+   R   R/   t   pubDateRG   R   t   guidRH  R  t   reverseR   t   addItemt   lastBuildDateR  t   write(   R   RZ   R[   t   youngestR   t   itemst   fetched_itemst	   max_itemsR   RE  t	   stageLinet   stageRD  Ru  RN  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR   
  sL    		
 
	

c          C   s   t    }  d |  j _ d |  j _ d |  j _ d |  j _ x6 t j j   D]% } t	   } | | _ |  j
 |  qI Wt t j    |  j _ |  j j |  j _ |  j   S(   Ns   SABnzbd Warningss   Overview of warnings/errorss,   http://sourceforge.net/projects/sabnzbdplus/R  (   R   R  R  R  R  R  R;   R  R  R   R  R/   R  R	  R  R
  (   R   t   warnRE  (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyR      s    			(   R   R  RB   Ru   R   RP   t   xml.sax.saxutilsR    t   sabnzbd.utils.rsslibR   R   R;   t   sabnzbd.rsst   sabnzbd.schedulerR   t   Cheetah.TemplateR   t   sabnzbd.miscR   R   R   R   R   R	   R
   R   R   R   R   t   sabnzbd.panicR   t   sabnzbd.newswrapperR   t   sabnzbd.newzbinR   t   sabnzbd.ratingR   t   sabnzbd.bpsmeterR   t   sabnzbd.encodingR   R   R   R   R   R   R   R   t   sabnzbd.configR   t   sabnzbd.cfgRG   t   sabnzbd.newsunpackt   sabnzbd.postprocR   t   sabnzbd.downloaderR   t   sabnzbd.nzbqueueR   t   sabnzbd.wizardt   sabnzbd.utils.servertestsR   t   sabnzbd.constantst   sabnzbd.langR!   R"   t   sabnzbd.apiR#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   Rn   R   R   RA   RJ   RN   RX   R]   R^   R`   Rc   Rf   Rj   Rl   Rr   Rz   Rp   R   t   objectR   R   R   R   R   R   R  R  R  R  RB  R  Rs  Rt  Rv  R  R  R  R  R  R  RK   R  R  R  RF  R  R  R  R  R  R   R   R=   R  R  R  R  R  R  R  R  R   R   (    (    (    s%   /var/www/SABnzbd/sabnzbd/interface.pyt   <module>   s   L:
v	
			
	
					
				2
J		
-				1)		N	7	 !TE	5						"	M	B4