;ò
¢)?Bc           @   sy   d  Z  d k Z d k l Z d k l Z d k l Z d k l Z d k l Z d Z	 d Z
 d	 e i f d
 „  ƒ  YZ d S(   s
  Old style Mailman membership adaptor.

This adaptor gets and sets member information on the MailList object given to
the constructor.  It also equates member keys and lower-cased email addresses,
i.e. KEY is LCE.

This is the adaptor used by default in Mailman 2.1.
N(   s
   StringType(   s   mm_cfg(   s   Utils(   s   Errors(   s   MemberAdaptori   i   s   OldStyleMembershipsc           B   s=  t  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 „  Z d „  Z e i e i e i e i f d „ Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d  „  Z% RS(!   Nc         C   s   | |  _ d  S(   N(   s   mlists   selfs   _OldStyleMemberships__mlist(   s   selfs   mlist(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   __init__.   s    c         C   s$   |  i i i ƒ  |  i i i ƒ  Sd  S(   N(   s   selfs   _OldStyleMemberships__mlists   memberss   keyss   digest_members(   s   self(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys
   getMembers4   s    c         C   s   |  i i i ƒ  Sd  S(   N(   s   selfs   _OldStyleMemberships__mlists   memberss   keys(   s   self(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getRegularMemberKeys7   s    c         C   s   |  i i i ƒ  Sd  S(   N(   s   selfs   _OldStyleMemberships__mlists   digest_memberss   keys(   s   self(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getDigestMemberKeys:   s    c         C   sÂ   | i ƒ  } g  } |  i i i | | ƒ } | | j	 o, t	 | t
 ƒ o | t f Sqc | t f Sn |  i i i | | ƒ } | | j	 o, t	 | t
 ƒ o | t f Sq´ | t f Sn t t f Sd  S(   N(   s   members   lowers   lcmembers   missings   selfs   _OldStyleMemberships__mlists   memberss   gets   vals
   isinstances
   StringTypes	   ISREGULARs   digest_memberss   ISDIGESTs   None(   s   selfs   members   vals   missings   lcmember(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   __get_cp_member=   s    c         C   s2   |  i | ƒ \ } } | t j	 o d Sn d Sd  S(   Ni   i    (   s   selfs#   _OldStyleMemberships__get_cp_members   members   cpaddrs   wheres   None(   s   selfs   members   wheres   cpaddr(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   isMemberN   s    c         C   s@   |  i | ƒ \ } } | t j o t i | ‚ n | i ƒ  Sd  S(   N(	   s   selfs#   _OldStyleMemberships__get_cp_members   members   cpaddrs   wheres   Nones   Errorss   NotAMemberErrors   lower(   s   selfs   members   wheres   cpaddr(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberKeyT   s    c         C   s:   |  i | ƒ \ } } | t j o t i | ‚ n | Sd  S(   N(   s   selfs#   _OldStyleMemberships__get_cp_members   members   cpaddrs   wheres   Nones   Errorss   NotAMemberError(   s   selfs   members   wheres   cpaddr(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberCPAddressZ   s    c         C   s6   g  i  } | D] } | |  i | ƒ d ƒ q ~ Sd  S(   Ni    (   s   appends   _[1]s   memberss   members   selfs#   _OldStyleMemberships__get_cp_member(   s   selfs   memberss   _[1]s   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberCPAddresses`   s    c         C   s@   |  i i i | i ƒ  ƒ } | t j o t i	 | ‚ n | Sd  S(   N(
   s   selfs   _OldStyleMemberships__mlists	   passwordss   gets   members   lowers   secrets   Nones   Errorss   NotAMemberError(   s   selfs   members   secret(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberPasswordc   s    c         C   s,   |  i | ƒ } | | j o | Sn d Sd  S(   Ni    (   s   selfs   getMemberPasswords   members   secrets   response(   s   selfs   members   responses   secret(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   authenticateMemberi   s    c         C   s%   |  i | ƒ o t i | ‚ n d  S(   N(   s   selfs   isMembers   members   Errorss   NotAMemberError(   s   selfs   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   __assertIsMembero   s    c         C   sP   |  i i i | i ƒ  |  i i ƒ } | |  i i ƒ  j o | Sn |  i i Sd  S(   N(	   s   selfs   _OldStyleMemberships__mlists   languages   gets   members   lowers   preferred_languages   langs   GetAvailableLanguages(   s   selfs   members   lang(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberLanguages   s    $c         C   sl   |  i | ƒ | t i j o# |  i | ƒ \ } } | t	 j Sn |  i
 i i | i ƒ  d ƒ } | | @Sd  S(   Ni    (   s   selfs$   _OldStyleMemberships__assertIsMembers   members   flags   mm_cfgs   Digestss#   _OldStyleMemberships__get_cp_members   cpaddrs   wheres   ISDIGESTs   _OldStyleMemberships__mlists   user_optionss   gets   lowers   option(   s   selfs   members   flags   options   wheres   cpaddr(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberOptionz   s    c         C   s*   |  i | ƒ |  i i i | i ƒ  ƒ Sd  S(   N(   s   selfs$   _OldStyleMemberships__assertIsMembers   members   _OldStyleMemberships__mlists	   usernamess   gets   lower(   s   selfs   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberName‚   s    c         C   s-   |  i | ƒ |  i i i | i ƒ  g  ƒ Sd  S(   N(   s   selfs$   _OldStyleMemberships__assertIsMembers   members   _OldStyleMemberships__mlists   topics_userinterests   gets   lower(   s   selfs   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getMemberTopics†   s    c         C   s:   |  i | ƒ |  i i i | i ƒ  t i d f ƒ d Sd  S(   Ni    (	   s   selfs$   _OldStyleMemberships__assertIsMembers   members   _OldStyleMemberships__mlists   delivery_statuss   gets   lowers   MemberAdaptors   ENABLED(   s   selfs   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getDeliveryStatusŠ   s    c         C   s:   |  i | ƒ |  i i i | i ƒ  t i d f ƒ d Sd  S(   Ni    i   (	   s   selfs$   _OldStyleMemberships__assertIsMembers   members   _OldStyleMemberships__mlists   delivery_statuss   gets   lowers   MemberAdaptors   ENABLED(   s   selfs   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getDeliveryStatusChangeTime’   s    c         C   sI   g  i  } |  i ƒ  D]* } |  i | ƒ | j o | | ƒ q q ~ Sd  S(   N(   s   appends   _[1]s   selfs
   getMemberss   members   getDeliveryStatuss   status(   s   selfs   statuss   _[1]s   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getDeliveryStatusMembersš   s    c         C   s;   g  i  } |  i i i ƒ  D] } | | i ƒ  ƒ q ~ Sd  S(   N(   s   appends   _[1]s   selfs   _OldStyleMemberships__mlists   bounce_infos   keyss   members   lower(   s   selfs   _[1]s   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getBouncingMembers¡   s    c         C   s*   |  i | ƒ |  i i i | i ƒ  ƒ Sd  S(   N(   s   selfs$   _OldStyleMemberships__assertIsMembers   members   _OldStyleMemberships__mlists   bounce_infos   gets   lower(   s   selfs   member(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   getBounceInfo¤   s    c         K   sÒ  |  i i ƒ  p t ‚ |  i | ƒ o t i | ‚ n d } t	 i
 ƒ  } |  i i } t } | i d ƒ o | d } | d =n | i d ƒ o | d } | d =n | i d ƒ o | d } | d =n | i d ƒ o | d } | d =n | o t | i ƒ  ‚ n t	 i | ƒ | i ƒ  j o
 d } n | } | i ƒ  } | o | |  i i | <n | |  i i | <|  i | | ƒ |  i | | ƒ | o |  i | | ƒ n |  i i o |  i i |  i i | <n d  S(   Ni    s   digests   passwords   languages   realname(   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors   isMembers   members   Errorss   MMAlreadyAMembers   digests   Utilss   MakeRandomPasswords   passwords   preferred_languages   languages   Nones   realnames   kwss   has_keys
   ValueErrors   keyss   LCDomains   lowers   values   digest_memberss   memberss   setMemberPasswords   setMemberLanguages   setMemberNames   new_member_optionss   user_options(   s   selfs   members   kwss   realnames   languages   values   passwords   digest(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   addNewMember«   sD    




c      	   C   s   |  i i ƒ  p t ‚ |  i | ƒ | i ƒ  } xV d d d d d d d d d	 f	 D]3 } t	 |  i | ƒ } | i | ƒ o | | =qR qR Wd  S(
   Ns	   passwordss   user_optionss   memberss   digest_memberss   languages   topics_userinterests	   usernamess   bounce_infos   delivery_status(   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers   members   lowers	   memberkeys   attrs   getattrs   dicts   has_key(   s   selfs   members   attrs   dicts	   memberkey(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   removeMemberÚ   s    " i    c   
   
   C   sü   |  i i ƒ  p t ‚ |  i | ƒ | i ƒ  }	 |  i |	 ƒ } |  i i
 i |	 d ƒ } |  i |	 t i ƒ } |  i i i |	 t i ƒ  ƒ } |  i |	 ƒ } | o |  i |	 ƒ n |  i | d | d | d | d | ƒ| o | |  i i
 | i ƒ  <n d  S(   Ni    s   realnames   digests   passwords   language(   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers   members   lowers	   memberkeys   getMemberNames   fullnames   user_optionss   gets   flagss   getMemberOptions   mm_cfgs   Digestss   digestsps	   passwordss   Utilss   MakeRandomPasswords   passwords   getMemberLanguages   langs   nodeletes   removeMembers   addNewMembers
   newaddress(
   s   selfs   members
   newaddresss   nodeletes   langs   digestsps   flagss   fullnames   passwords	   memberkey(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   changeMemberAddressé   s    c         C   s>   |  i i ƒ  p t ‚ |  i | ƒ | |  i i | i ƒ  <d  S(   N(	   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers	   memberkeys   passwords	   passwordss   lower(   s   selfs	   memberkeys   password(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   setMemberPassword   s    c         C   s>   |  i i ƒ  p t ‚ |  i | ƒ | |  i i | i ƒ  <d  S(   N(   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers	   memberkeys   languages   lower(   s   selfs	   memberkeys   language(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   setMemberLanguage  s    c         C   sø  |  i i ƒ  p t ‚ |  i | ƒ | i ƒ  } | t	 i
 j oC| o” |  i i o t i ‚ n |  i i i | ƒ o t i | ‚ n |  i i i | ƒ } | t j o t i | ‚ n |  i i | =| |  i i | <n¡ |  i i o t i ‚ n |  i i i | ƒ o t i | ‚ n |  i i i | ƒ } | t j o t i | ‚ n |  i i | =| |  i i | <| |  i i | <d  Sn |  i i i | d ƒ | o |  i i | c | O<n |  i i | c | M<|  i i | o |  i i | =n d  S(   Ni    (   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers   members   lowers	   memberkeys   flags   mm_cfgs   Digestss   values
   digestables   Errorss   CantDigestErrors   digest_memberss   has_keys   AlreadyReceivingDigestss   memberss   gets   cpusers   Nones   NotAMemberErrors   nondigestables   MustDigestErrors!   AlreadyReceivingRegularDeliveriess   one_last_digests   user_optionss
   setdefault(   s   selfs   members   flags   values   cpusers	   memberkey(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   setMemberOption
  s>    c         C   s>   |  i i ƒ  p t ‚ |  i | ƒ | |  i i | i ƒ  <d  S(   N(	   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers   members   realnames	   usernamess   lower(   s   selfs   members   realname(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   setMemberName>  s    c         C   sv   |  i i ƒ  p t ‚ |  i | ƒ | i ƒ  } | o | |  i i	 | <n( |  i i	 i
 | ƒ o |  i i	 | =n d  S(   N(   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers   members   lowers	   memberkeys   topicss   topics_userinterests   has_key(   s   selfs   members   topicss	   memberkey(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   setMemberTopicsC  s    c         C   s¦   | t i t i t i t i t i f j p t ‚ |  i	 i
 ƒ  p t ‚ |  i | ƒ | i ƒ  } | t i j o |  i | t ƒ n | t i ƒ  f |  i	 i | <d  S(   N(   s   statuss   MemberAdaptors   ENABLEDs   UNKNOWNs   BYUSERs   BYADMINs   BYBOUNCEs   AssertionErrors   selfs   _OldStyleMemberships__mlists   Lockeds$   _OldStyleMemberships__assertIsMembers   members   lowers   setBounceInfos   Nones   times   delivery_status(   s   selfs   members   status(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   setDeliveryStatusM  s    2c         C   s£   |  i i ƒ  p t ‚ |  i | ƒ | i ƒ  } | t j oR |  i i	 i
 | ƒ o |  i i	 | =n |  i i i
 | ƒ o |  i i | =qŸ n | |  i i	 | <d  S(   N(   s   selfs   _OldStyleMemberships__mlists   Lockeds   AssertionErrors$   _OldStyleMemberships__assertIsMembers   members   lowers   infos   Nones   bounce_infos   has_keys   delivery_status(   s   selfs   members   info(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   setBounceInfoZ  s    (&   s   __name__s
   __module__s   __init__s
   getMemberss   getRegularMemberKeyss   getDigestMemberKeyss#   _OldStyleMemberships__get_cp_members   isMembers   getMemberKeys   getMemberCPAddresss   getMemberCPAddressess   getMemberPasswords   authenticateMembers$   _OldStyleMemberships__assertIsMembers   getMemberLanguages   getMemberOptions   getMemberNames   getMemberTopicss   getDeliveryStatuss   getDeliveryStatusChangeTimes   MemberAdaptors   UNKNOWNs   BYUSERs   BYADMINs   BYBOUNCEs   getDeliveryStatusMemberss   getBouncingMemberss   getBounceInfos   addNewMembers   removeMembers   changeMemberAddresss   setMemberPasswords   setMemberLanguages   setMemberOptions   setMemberNames   setMemberTopicss   setDeliveryStatuss   setBounceInfo(    (    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   OldStyleMemberships-   s>   																		$			/				4		
	(   s   __doc__s   times   typess
   StringTypes   Mailmans   mm_cfgs   Utilss   Errorss   MemberAdaptors	   ISREGULARs   ISDIGESTs   OldStyleMemberships(	   s
   StringTypes   Errorss   Utilss   mm_cfgs   MemberAdaptors	   ISREGULARs   times   ISDIGESTs   OldStyleMemberships(    (    s+   /var/mailman/Mailman/OldStyleMemberships.pys   ?   s   	
