;ò
£)?Bc           @   s”   d  k  Z  d k l Z d k l Z d k l Z d k l Z d k l	 Z	 y e
 e f Wn e j
 o d Z
 d Z n Xd e	 f d	 „  ƒ  YZ d  S(
   N(   s   mm_cfg(   s   Utils(   s   _(   s   syslog(   s   GUIBasei   i    s   Topicsc           B   s&   t  Z d „  Z e d „ Z d „  Z RS(   Nc         C   s   d t  d ƒ f Sd  S(   Ns   topicss   Topics(   s   _(   s   self(    (    s"   /var/mailman/Mailman/Gui/Topics.pys   GetConfigCategory"   s    c      
   C   s­   | d j o t Sn t i } t d ƒ d t i t d ƒ t d ƒ f d t d ƒ t d ƒ f d	 t i d
 d t d ƒ t d ƒ f d t i d d t d ƒ t d ƒ f g Sd  S(   Ns   topicss   List topic keywordss   topics_enableds   Disableds   Enabledi    s/   Should the topic filter be enabled or disabled?sN  The topic filter categorizes each incoming email message
             according to <a
            href="http://www.python.org/doc/current/lib/module-re.html">regular
             expression filters</a> you specify below.  If the message's
             <code>Subject:</code> or <code>Keywords:</code> header contains a
             match against a topic filter, the message is logically placed
             into a topic <em>bucket</em>.  Each user can then choose to only
             receive messages from the mailing list for a particular topic
             bucket (or buckets).  Any message not categorized in a topic
             bucket registered with the user is not delivered to the list.

             <p>Note that this feature only works with regular delivery, not
             digest delivery.

             <p>The body of the message can also be optionally scanned for
             <code>Subject:</code> and <code>Keywords:</code> headers, as
             specified by the <a
       href="?VARHELP=topics/topics_bodylines_limit">topics_bodylines_limit</a>
             configuration variable.s   topics_bodylines_limiti   s2   How many body lines should the topic matcher scan?sV  The topic matcher will scan this many lines of the message
             body looking for topic keyword matches.  Body scanning stops when
             either this many lines have been looked at, or a non-header-like
             body line is encountered.  By setting this value to zero, no body
             lines will be scanned (i.e. only the <code>Keywords:</code> and
             <code>Subject:</code> headers will be scanned).  By setting this
             value to a negative number, then all body lines will be scanned
             until a non-header-like line is encountered.
             s<   Topic keywords, one per line, to match against each message.s­  Each topic keyword is actually a regular expression, which is
             matched against certain parts of a mail message, specifically the
             <code>Keywords:</code> and <code>Subject:</code> message headers.
             Note that the first few lines of the body of the message can also
             contain a <code>Keywords:</code> and <code>Subject:</code>
             "header" on which matching is also performed.(	   s   categorys   Nones   mm_cfgs   TEXTFIELDWIDTHs   WIDTHs   _s   Radios   Numbers   Topics(   s   selfs   mlists   categorys   subcats   WIDTH(    (    s"   /var/mailman/Mailman/Gui/Topics.pys   GetConfigInfo%   s    	c         C   s  g  } d } xt oùd | } d | } d | } d | } d | } d | }	 d | } | d 7} | i | ƒ o q n | i | ƒ } | i | ƒ }
 | i | ƒ } | t j o Pn | i | ƒ o | p |
 o | i t d	 ƒ ƒ q n t i | ƒ } y t i |
 ƒ WnA t i t f j
 o, t i |
 ƒ } | i t d
 ƒ ƒ q n X| i |	 ƒ oˆ | i | ƒ } | d j o6 | i d d d t f ƒ | i | |
 | t f ƒ q| i | |
 | t f ƒ | i d d d t f ƒ q | i | |
 | t f ƒ q W| | _  y" t | i d | i  ƒ ƒ | _  Wn t! j
 o n Xy" t | i d | i" ƒ ƒ | _" Wn t! j
 o n Xd  S(   Ni   s   topic_delete_%02ds   topic_box_%02ds   topic_rebox_%02ds   topic_desc_%02ds   topic_where_%02ds   topic_add_%02ds   topic_new_%02dsk   Topic specifications require both a name and
                a pattern.  Incomplete topics will be ignored.sm   The topic pattern '%(safepattern)s' is not a
                legal regular expression.  It will be discarded.s   befores    s   topics_enableds   topics_bodylines_limit(#   s   topicss   is   Trues   deltags   boxtags   reboxtags   desctags   wheretags   addtags   newtags   cgidatas   has_keys   getvalues   names   patterns   descs   Nones   docs   addErrors   _s   Utilss   websafes   res   compiles   errors	   TypeErrors   safepatterns   wheres   appends   Falses   mlists   ints   topics_enableds
   ValueErrors   topics_bodylines_limit(   s   selfs   mlists   categorys   subcats   cgidatas   docs   boxtags   desctags   deltags   addtags   patterns   topicss   wheretags   descs   safepatterns   names   is   newtags   wheres   reboxtag(    (    s"   /var/mailman/Mailman/Gui/Topics.pys
   handleForm]   s`     







 	(   s   __name__s
   __module__s   GetConfigCategorys   Nones   GetConfigInfos
   handleForm(    (    (    s"   /var/mailman/Mailman/Gui/Topics.pys   Topics!   s   	8(   s   res   Mailmans   mm_cfgs   Utilss   Mailman.i18ns   _s   Mailman.Logging.Syslogs   syslogs   Mailman.Gui.GUIBases   GUIBases   Trues   Falses	   NameErrors   Topics(	   s   Falses   GUIBases   syslogs   Utilss   res   mm_cfgs   Trues   Topicss   _(    (    s"   /var/mailman/Mailman/Gui/Topics.pys   ?   s   	