summaryrefslogtreecommitdiff
path: root/modules/maillist.py
diff options
context:
space:
mode:
authorviega1998-06-02 02:42:36 +0000
committerviega1998-06-02 02:42:36 +0000
commit7c02bc73825ca6f008922a7cc75905519918da86 (patch)
tree3bd8f604a3b1fdbe3488bf99a6b5b74530bc45a9 /modules/maillist.py
parentaa8181e9aa133cb189cc45ca82e1f6014c5d093a (diff)
downloadmailman-7c02bc73825ca6f008922a7cc75905519918da86.tar.gz
mailman-7c02bc73825ca6f008922a7cc75905519918da86.tar.zst
mailman-7c02bc73825ca6f008922a7cc75905519918da86.zip
Added a lock parameter to the constructor of MailList, which determines
whether Lock is implicitly called. Defaults to 1. Also put the call to post to news in its proper place (next to the digest + archive calls).
Diffstat (limited to 'modules/maillist.py')
-rw-r--r--modules/maillist.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/modules/maillist.py b/modules/maillist.py
index 268bea891..10b8a3cfb 100644
--- a/modules/maillist.py
+++ b/modules/maillist.py
@@ -48,8 +48,9 @@ from mm_gateway import GatewayManager
class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
Archiver, Digester, SecurityManager, Bouncer, GatewayManager):
- def __init__(self, name=None):
+ def __init__(self, name=None, lock=1):
MailCommandHandler.__init__(self)
+ self._tmp_lock = lock
self._internal_name = name
self._ready = 0
self._log_files = {} # 'class': log_file_obj
@@ -537,7 +538,8 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
file.close()
def Load(self):
- self.Lock()
+ if self._tmp_lock:
+ self.Lock()
try:
file = open(os.path.join(self._full_path, 'config.db'), 'r')
except IOError:
@@ -836,6 +838,8 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
self.SaveForDigest(msg)
if self.archive:
self.ArchiveMail(msg)
+ if self.gateway_to_news:
+ self.SendMailToNewsGroup(msg)
dont_send_to_sender = 0
ack_post = 0
@@ -853,9 +857,9 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
def DeliveryEnabled(x, s=self, v=mm_cfg.DisableDelivery):
return not s.GetUserOption(x, v)
recipients = filter(DeliveryEnabled, recipients)
- self.DeliverToList(msg, recipients,
- self.msg_header % self.__dict__,
- self.msg_footer % self.__dict__)
+ self.DeliverToList(msg, recipients,
+ header = self.msg_header % self.__dict__,
+ footer = self.msg_footer % self.__dict__)
if ack_post:
self.SendPostAck(msg, sender)
self.last_post_time = time.time()