summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorviega1998-06-02 02:42:36 +0000
committerviega1998-06-02 02:42:36 +0000
commit7c02bc73825ca6f008922a7cc75905519918da86 (patch)
tree3bd8f604a3b1fdbe3488bf99a6b5b74530bc45a9
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).
-rw-r--r--Mailman/MailList.py14
-rw-r--r--modules/maillist.py14
2 files changed, 18 insertions, 10 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index 268bea891..10b8a3cfb 100644
--- a/Mailman/MailList.py
+++ b/Mailman/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()
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()