
>cc           @   s  d  Z  d d l Z d d l m Z d d l m Z d d l m Z m Z d d l m	 Z	 d Z
 d Z d	 Z d
   Z d   Z d   Z d d` d     YZ d da d     YZ d db d     YZ d dc d     YZ d dd d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d      YZ d! e f d"     YZ d# e f d$     YZ d% e f d&     YZ d' e f d(     YZ d) e f d*     YZ d+ e f d,     YZ d- e f d.     YZ  d/ e f d0     YZ! d1 e f d2     YZ" d3 e f d4     YZ# d5 e f d6     YZ$ d7 de d8     YZ% d9 e% f d:     YZ& d; e% f d<     YZ' d= e% f d>     YZ( d? e% f d@     YZ) dA df dB     YZ* dC e% f dD     YZ+ dE e% f dF     YZ, dG e% f dH     YZ- dI dg dJ     YZ. dK dh dL     YZ/ dM e/ f dN     YZ0 dO e/ f dP     YZ1 dQ e f dR     YZ2 dS e f dT     YZ3 dU e f dV     YZ4 d dW l m5 Z5 dX Z6 dY Z7 dZ Z8 d[ Z9 d\ Z: d]   Z; d^ di d_     YZ< d S(j   s   Library for program-based construction of an HTML documents.

Encapsulate HTML formatting directives in classes that act as containers
for python and, recursively, for nested HTML formatting objects.
iN(   t   mm_cfg(   t   Utils(   t   _t   get_translation(   t
   csrf_tokent    t    s   
c         C   sA   t  |   t  d  k r |  St |  d  s0 |  S|  j |  Sd S(   sH   Return a presentation of an object, invoking their Format method if any.R   t   FormatN(   t   typet   hasattrR   (   t   itemt   indent(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   HTMLFormatObject.   s
    c         C   s7   i  } x* |  j    D] \ } } | | | j   <q W| S(   N(   t   itemst   lower(   t   dt   resultt   kt   v(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   CaseInsensitiveKeyedDict7   s    c         C   s+   x$ | j    D] \ } } | |  | <q Wd  S(   N(   R   (   t   destinationt
   fresh_dictt   keyt   value(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt	   DictMerge?   s    t   Tablec           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d d  Z RS(   c         K   s(   g  |  _  i  |  _ i  |  _ | |  _ d  S(   N(   t   cellst	   cell_infot   row_infot   opts(   t   selft
   table_opts(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   __init__D   s    			c         C   s   t  |  j |  d  S(   N(   R   R   (   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt
   AddOptionsJ   s    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   SetAllCellsP   s    c         C   s   |  j  j g   d  S(   N(   R   t   append(   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   NewRowT   s    c         C   s   |  j  d j d  d  S(   NiR   (   R   R#   (   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   NewCellX   s    c         C   s   |  j  j |  d  S(   N(   R   R#   (   R   t   row(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   AddRow[   s    c         C   s   |  j  d j |  d  S(   Ni(   R   R#   (   R   t   cell(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   AddCell^   s    c         K   sw   t  |  } |  j j |  s5 i | | 6|  j | <n> |  j | j |  rb t |  j | |  n | |  j | | <d  S(   N(   R   R   t   has_keyR   (   R   R&   t   colt   kws(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   AddCellInfoa   s    c         K   sF   t  |  } |  j j |  s. | |  j | <n t |  j | |  d  S(   N(   R   R   R*   R   (   R   R&   R,   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt
   AddRowInfoj   s    c         C   s   t  |  j  d S(   Ni   (   t   lenR   (   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   GetCurrentRowIndexr   s    c         C   s   t  |  j d  d S(   Nii   (   R/   R   (   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   GetCurrentCellIndexv   s    c         C   s   d d d d d d g } d } xb | j    D]T \ } } | | k rI q+ n  | d k re | d } q+ q+ | d	 | j   | f } q+ W| S(
   Nt   alignt   valignt   nowrapt   rowspant   colspant   bgcolorR   s    NOWRAPs    %s="%s"(   R   t   upper(   R   t   infot
   valid_modst   outputR   t   val(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   ExtractCellInfoy   s    	
c         C   sb   d d d g } d } xF | j    D]8 \ } } | | k r@ q" n  | d | j   | f } q" W| S(   NR2   R3   R7   R   s    %s="%s"(   R   R8   (   R   R9   R:   R;   R   R<   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   ExtractRowInfo   s    c         C   s   d d d d d d g } d } xn | j    D]` \ } } | | k rI q+ n  | d k rq | d  k rq | d } q+ q+ | d	 | j   | f } q+ W| S(
   NR2   t   widtht   bordert   cellspacingt   cellpaddingR7   R   s    BORDERs    %s="%s"(   R   t   NoneR8   (   R   R9   R:   R;   R   R<   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   ExtractTableInfo   s    	
c         C   s   y |  j  | | } Wn d  } n Xd d | d } | rS | |  j |  } n  |  j | | } t | | d  } d | | f } | S(   Ns   
R   s   <tdi   s
   %s>%s</td>(   R   RC   R=   R   R   (   R   R&   R+   R   t   my_infoR;   R
   t   item_format(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt
   FormatCell   s    
c         C   s   y |  j  | } Wn d  } n Xd d | d } | rO | |  j |  } n  | d } x> t t |  j |   D]# } | |  j | | | d  } qs W| d d | d } | S(   Ns   
R   s   <trt   >i   s   </tr>(   R   RC   R>   t   rangeR/   R   RG   (   R   R&   R   RE   R;   t   i(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt	   FormatRow   s    

 !i    c         C   s   d d | d } | |  j  |  j  } | d } x7 t t |  j   D]  } | |  j | | d  } qH W| d d | d } | S(   Ns   
R   s   <tableRH   i   s	   </table>
(   RD   R   RI   R/   R   RK   (   R   R   R;   RJ   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    
(   t   __name__t
   __module__R    R!   R"   R$   R%   R'   R)   R-   R.   R0   R1   R=   R>   RD   RG   RK   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   C   s"   																	t   Linkc           B   s    e  Z d d   Z d d  Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   hreft   textt   target(   R   RO   RP   RQ   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR       s    		i    c         C   sN   d } |  j  d  k r% d |  j  } n  d t |  j |  | t |  j |  f S(   NR   s    target="%s"s   <a href="%s"%s>%s</a>(   RQ   RC   R   RO   RP   (   R   R   t   texpr(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    N(   RL   RM   RC   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyRN      s   t   FontSizec           B   s#   e  Z d  Z d   Z d d  Z RS(   sE   FontSize is being deprecated - use FontAttr(..., size="...") instead.c         G   s   t  |  |  _ | |  _ d  S(   N(   t   listR   t   size(   R   RU   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR       s    i    c         C   sB   d |  j  } x$ |  j D] } | t | |  } q W| d } | S(   Ns   <font size="%s">s   </font>(   RU   R   R   (   R   R   R;   R
   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s
    
(   RL   RM   t   __doc__R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyRS      s   	t   FontAttrc           B   s#   e  Z d  Z d   Z d d  Z RS(   s"   Present arbitrary font attributes.c         O   s   t  |  |  _ | |  _ d  S(   N(   RT   R   t   attrs(   R   R   t   kw(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR       s    i    c         C   s   g  } x4 |  j  j   D]# \ } } | j d | | f  q Wd t j |  } x$ |  j D] } | t | |  } qZ W| d } | S(   Ns   %s="%s"s	   <font %s>s   </font>(   RX   R   R#   t   SPACEt   joinR   (   R   R   t   seqR   R   R;   R
   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    
(   RL   RM   RV   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyRW      s   	t	   Containerc           B   s&   e  Z d    Z d   Z d d  Z RS(   c         G   s   | s g  |  _  n	 | |  _  d  S(   N(   R   (   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR       s    c         C   s   |  j  j |  d  S(   N(   R   R#   (   R   t   obj(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   AddItem  s    i    c         C   s=   g  } x' |  j  D] } | j t | |   q Wt j |  S(   N(   R   R#   R   t   EMPTYSTRINGR[   (   R   R   R;   R
   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s    (   RL   RM   R    R_   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR]      s   		t   Labelc           B   s#   e  Z d  Z d   Z d d  Z RS(   t   rightc         G   s   t  j |  |  d  S(   N(   R]   R    (   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    i    c         C   s   d |  j  t j |  |  d S(   Ns   <div align="%s">s   </div>(   R2   R]   R   (   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s    (   RL   RM   R2   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyRa     s   	t   Documentc           B   sY   e  Z d Z d Z e j Z d  Z d d  Z	 d   Z
 d   Z d  d  Z d d  Z RS(   i    c         C   s   | |  _  d  S(   N(   t   language(   R   t   lang(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   set_language$  s    c         C   s   | |  _  d  S(   N(   R7   (   R   t   color(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   set_bgcolor'  s    c         C   s   | |  _  d  S(   N(   t   title(   R   Ri   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   SetTitle*  s    c   
      K   sH  d } |  j  r6 t j |  j   r6 t j |  j   } n  d | g } |  j s| j d |  j  d | } | j | d d g  t j	 r | j
 d t j	 t j  n  | j
 d |  |  j r | j
 d	 | |  j f  n  | j
 d
  t j r| j
 t j  n  | j
 d |  g  } t j r<| j d t j  n  t j r[| j d t j  n  t j rz| j d t j  n  x1 | j   D]# \ } } | j
 d | | f  qW| j
 d | t j |  f  t j |  j   }	 | j
 d |	  n  | j
 t j |  |   |  j s;| j
 d |  | j
 d |  n  t j |  S(   Ns   us-asciis$   Content-Type: text/html; charset=%s
R7   R   s   <HTML>s   <HEAD>s$   <LINK REL="SHORTCUT ICON" HREF="%s">s@   <META http-equiv="Content-Type" content="text/html; charset=%s">s   %s<TITLE>%s</TITLE>s   <style type="text/css">
    div.hidden
        {position:absolute;
        left:-10000px;
        top:auto;
        width:1px;
        height:1px;
        overflow:hidden;}
</style>
s	   %s</HEAD>t   vlinkt   alinkt   links   %s="%s"s
   %s<BODY %ss	   dir="%s">s	   %s</BODY>s	   %s</HTML>(   Rd   R   t
   IsLanguaget
   GetCharSett   suppress_headt
   setdefaultR7   t   extendR    t   IMAGE_LOGOSR#   t   SHORTCUT_ICONRi   t   WEB_HEAD_ADDt   WEB_VLINK_COLORt   WEB_ALINK_COLORt   WEB_LINK_COLORR   RZ   R[   t   GetDirectionR]   R   t   NL(
   R   R   R,   t   charsetR;   t   tabt   qualsR   R   t	   direction(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   -  sN    	
	
				
				 	c      
   C   sl   | d  k r t d  } n  |  j t d t t t |  d t j d d  j   t	 |  j     d  S(   Ns   Error: i   Rg   RU   s   +2(
   RC   R   R_   t   Headert   BoldRW   R    t   WEB_ERROR_COLORR   t   Italic(   R   t   errmsgt   tag(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   addErrorf  s
    $N(   RL   RM   RC   Ri   Rd   R    t   WEB_BG_COLORR7   Rp   Rf   Rh   Rj   R   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyRc     s   			9t   HeadlessDocumentc           B   s   e  Z d  Z d Z RS(   sD   Document without head section, for templates that provide their own.i   (   RL   RM   RV   Rp   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   n  s   t   StdContainerc           B   s   e  Z d  d  Z RS(   i    c         C   s:   d |  j  } | t j |  |  } d | |  j  f } | S(   Ns   <%s>s   %s</%s>(   R   R]   R   (   R   R   R;   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   t  s    (   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   s  s   t   QuotedContainerc           B   s   e  Z d  d  Z RS(   i    c         C   s2   d |  j  t j t j |  |   |  j  f } | S(   Ns   <%s>%s</%s>(   R   R   t   websafeR]   R   (   R   R   R;   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   }  s
    (   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   |  s   R   c           B   s   e  Z d    Z RS(   c         G   s   | |  _  d | |  _ d  S(   Ns   h%d(   R   R   (   R   t   numR   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    	(   RL   RM   R    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   Addressc           B   s   e  Z d  Z RS(   t   address(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t	   Underlinec           B   s   e  Z d  Z RS(   t   u(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   R   c           B   s   e  Z d  Z RS(   t   strong(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   R   c           B   s   e  Z d  Z RS(   t   em(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   Preformattedc           B   s   e  Z d  Z RS(   t   pre(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t	   Subscriptc           B   s   e  Z d  Z RS(   t   sub(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   Superscriptc           B   s   e  Z d  Z RS(   t   sup(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t	   Strikeoutc           B   s   e  Z d  Z RS(   t   strike(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   Centerc           B   s   e  Z d  Z RS(   t   center(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   Formc           B   s8   e  Z d  d d d d d d  Z d   Z d d  Z RS(   R   t   POSTc         G   sQ   t  t j |  f |  | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(	   t   applyR]   R    t   actiont   methodt   encodingt   mlistt   contextst   user(   R   R   R   R   R   R   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    					c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt
   set_action  s    i    c         C   s   d | } d } |  j  r) d |  j  } n  d | |  j |  j | f } |  j rt | d t |  j |  j |  j  } n  | t j |  | d  } d | | f } | S(   NR   R   s   enctype="%s"s%   
%s<FORM action="%s" method="%s" %s>
s3   <input type="hidden" name="csrf_token" value="%s">
i   s   %s
%s</FORM>
(	   R   R   R   R   R   R   R   R]   R   (   R   R   t   spacesR   R;   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s    
		 N(   RL   RM   RC   R    R   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   			t   InputObjc           B   s   e  Z d    Z d d  Z RS(   c         K   s1   | |  _  | |  _ | |  _ | |  _ | |  _ d  S(   N(   t   nameR   R   t   checkedR,   (   R   R   t   tyR   R   R,   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s
    				i    c         C   s   t    j   p d } d |  j |  j |  j f g } x( |  j j   D] } | j d |  qD W|  j rx | j d  n  | j d  t	 j
 |  } |  j d k r t | t  r | j | d  } n  | S(   Ns   us-asciis%   <INPUT name="%s" type="%s" value="%s"s   %s="%s"t   CHECKEDRH   t   TEXTt   xmlcharrefreplace(   R   R{   R   R   R   R,   R   R#   R   RZ   R[   t
   isinstancet   unicodet   encode(   R   R   R{   R;   R
   t   ret(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s    	(   RL   RM   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   	t   SubmitButtonc           B   s   e  Z d    Z RS(   c         C   s    t  j |  | d | d d d  S(   Nt   SUBMITR   i    (   R   R    (   R   R   t   button_text(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    (   RL   RM   R    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   PasswordBoxc           B   s   e  Z d  e j d  Z RS(   R   c      	   C   s&   t  j |  | d | d d d | d  S(   Nt   PASSWORDR   i    RU   (   R   R    (   R   R   R   RU   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    (   RL   RM   R    t   TEXTFIELDWIDTHR    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   TextBoxc           B   s   e  Z d  e j d  Z RS(   R   c      	   C   sM   t  | t  r! t j |  } n | } t j |  | d | d d d | d  S(   NR   R   i    RU   (   R   t   strR   R   R   R    (   R   R   R   RU   t	   safevalue(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    (   RL   RM   R    R   R    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   Hiddenc           B   s   e  Z d  d  Z RS(   R   c         C   s    t  j |  | d | d d d  S(   Nt   HIDDENR   i    (   R   R    (   R   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    (   RL   RM   R    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   TextAreac           B   s,   e  Z d  d d d d d  Z d d  Z RS(   R   t   softi    c   	      C   sk   t  | t  r+ | } t j | |  } n | } | |  _ | |  _ | |  _ | |  _ | |  _ | |  _	 d  S(   N(
   R   R   R   R   R   RP   t   rowst   colst   wrapt   readonly(	   R   R   RP   R   R   R   R   t   doubleescapet   safetext(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    					c         C   s   t    j   p d } d |  j } |  j r? | d |  j 7} n  |  j r\ | d |  j 7} n  |  j ry | d |  j 7} n  |  j r | d 7} n  | d |  j 7} t | t	  r | j
 | d  } n  | S(	   Ns   us-asciis   <TEXTAREA NAME=%ss    ROWS=%ss    COLS=%ss    WRAP=%ss	    READONLYs   >%s</TEXTAREA>R   (   R   R{   R   R   R   R   R   RP   R   R   R   (   R   R   R{   R;   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s    				N(   RL   RM   RC   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t
   FileUploadc           B   s   e  Z d d d   Z RS(   c         K   s&   t  t j |  | d d d f |  d  S(   Nt   FILER   i    (   R   R   R    (   R   R   R   R   R,   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    N(   RL   RM   RC   R    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   RadioButtonc           B   s   e  Z d  d  Z RS(   i    c         K   s&   t  t j |  | d | | f |  d  S(   Nt   RADIO(   R   R   R    (   R   R   R   R   R,   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    (   RL   RM   R    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   CheckBoxc           B   s   e  Z d  d  Z RS(   i    c         K   s&   t  t j |  | d | | f |  d  S(   Nt   CHECKBOX(   R   R   R    (   R   R   R   R   R,   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    (   RL   RM   R    (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   VerticalSpacerc           B   s    e  Z d  d  Z d d  Z RS(   i
   c         C   s   | |  _  d  S(   N(   RU   (   R   RU   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    i    c         C   s   d |  j  } | S(   Ns$   <spacer type="vertical" height="%d">(   RU   (   R   R   R;   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s    (   RL   RM   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   t   WidgetArrayc           B   s,   e  Z d Z d    Z d   Z d d  Z RS(   c         C   sO   | |  _  | |  _ | |  _ | |  _ | |  _ t |  t |  k sK t  d  S(   N(   R   t   button_namesR   t
   horizontalt   valuesR/   t   AssertionError(   R   R   R   R   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR    $  s    					c         C   s
   t   d  S(   N(   t   NotImplemented(   R   RJ   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt	   ischecked.  s    i    c   	      C   s   t  d d  } g  } x t t t |  j   |  j |  j  D]t \ } } } |  j |  } d |  j |  j | |  j	   | d } | j
 |  |  j s= | j |  g  } q= q= W|  j r | j |  n  | j	 |  S(   NRA   i   s   <label>s   </label>(   R   t   zipRI   R/   R   R   R   t   WidgetR   R   R#   R   R'   (	   R   R   t   tR   RJ   R   R   R   R
   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   1  s    *		N(   RL   RM   RC   R   R    R   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   !  s   	
	t   RadioButtonArrayc           B   s)   e  Z e Z d d  d d  Z d   Z RS(   i   c         C   sA   | d  k r! t t |   } n  t j |  | | | | |  d  S(   N(   RC   RI   R/   R   R    (   R   R   R   R   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR    F  s    c         C   s   |  j  | k S(   N(   R   (   R   RJ   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   N  s    N(   RL   RM   R   R   RC   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   C  s   t   CheckBoxArrayc           B   s)   e  Z e Z d d  d d  Z d   Z RS(   i    c         C   s   | d  k r" d g t |  } n t |  t |  k s@ t  | d  k ra t t |   } n  t j |  | | | | |  d  S(   Ni    (   RC   R/   R   RI   R   R    (   R   R   R   R   R   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR    T  s    c         C   s   |  j  | S(   N(   R   (   R   RJ   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   _  s    N(   RL   RM   R   R   RC   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   Q  s   
t   UnorderedListc           B   s   e  Z d  d  Z RS(   i    c         C   s[   d | } d | } x2 |  j  D]' } | d | t | | d  f } q W| d | } | S(   NR   s   
%s<ul>
s	   %s<li>%s
i   s   %s</ul>
(   R   R   (   R   R   R   R;   R
   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   c  s    

(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   b  s   t   OrderedListc           B   s   e  Z d  d  Z RS(   i    c         C   s[   d | } d | } x2 |  j  D]' } | d | t | | d  f } q W| d | } | S(   NR   s   
%s<ol>
s	   %s<li>%s
i   s   %s</ol>
(   R   R   (   R   R   R   R;   R
   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   m  s    

(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   l  s   t   DefinitionListc           B   s   e  Z d  d  Z RS(   i    c      	   C   sq   d | } d | } xH |  j  D]= \ } } | d | t | | d  t | | d  f } q W| d | } | S(   NR   s   
%s<dl>
s   %s<dt>%s
<dd>%s
i   s   %s</dl>
(   R   R   (   R   R   R   R;   t   dtt   dd(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   w  s    

(   RL   RM   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR   v  s   (   t   MAILMAN_URLs   http://www.python.org/s   http://www.gnu.org/s   mailman.jpgs   PythonPowered.pngs   gnu-head-tiny.jpgc          C   s   t  d d d d  }  t j ry d   } d | t  t j f } d | t  } d | t  } |  j | | | g  n^ t j } t t	 t
 d	   } t t t
 d
   } t t t
 d   } |  j | | | g  |  S(   NR@   i    R?   s   100%c         S   s   t  j |  S(   N(   R    Rs   (   t   file(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   logo  s    s@   <img src="%s" alt="Delivered by Mailman" border=0><br>version %ss,   <img src="%s" alt="Python Powered" border=0>s,   <img src="%s" alt="GNU's Not Unix" border=0>s+   Delivered by Mailman<br>version %(version)ss   Python Powereds   Gnu's Not Unix(   R   R    Rs   t   DELIVERED_BYt   VERSIONt   PYTHON_POWEREDt   GNU_HEADR'   RN   R   R   t
   PYTHON_URLt   GNU_URL(   R   R   t   mmlinkt   pylinkt   gnulinkt   version(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   MailmanLogo  s"    			t   SelectOptionsc           B   s&   e  Z d  d d d  Z d  d  Z RS(   i    i   c         C   s   | |  _  | |  _ | |  _ | |  _ | |  _ | s t |  t j k rW | f |  _ q t |  t j	 k r | d f |  _ q t |  t j
 k r | d f |  _ q d |  _ n  d  S(   Ni    (   i    (   t   varnameR   t   legendRU   t   multipleR   t   typest   IntTypet   selectedt	   TupleTypet   ListType(   R   R   R   R   R   RU   R   (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR      s    					c         C   s  d | } t  t |  j  t |  j   } | d k r; d Sd | d |  j } |  j d k rs | d |  j } n  |  j r | d } n  | d	 } xe t |  D]W } | |  j k r d
 } n d } d |  j | | |  j | f } | | | d } q W| | d S(   NR   i    R   s   
s   <Select name="%s"i   s    size=%ds	    multiples   >
s	    Selecteds#    <option value="%s"%s> %s </option>s	   </Select>(	   t   minR/   R   R   R   RU   R   RI   R   (   R   R   R   R   RP   RJ   R   t   opt(    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s$    
!	
	N(   RL   RM   RC   R    R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyR     s   (    (    (    (    (    (    (    (    (    (    (=   RV   R   t   MailmanR    R   t   Mailman.i18nR   R   t   Mailman.CSRFcheckR   RZ   R`   Rz   R   R   R   R   RN   RS   RW   R]   Ra   Rc   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s1   /export/web/mailman/mailman/Mailman/htmlformat.pyt   <module>   sp   				P		 "

	