Code

. re-open the database as the author in mail handling
authorrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Tue, 13 Nov 2001 21:44:44 +0000 (21:44 +0000)
committerrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Tue, 13 Nov 2001 21:44:44 +0000 (21:44 +0000)
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@400 57a73879-2fb5-44c3-a270-3262357dd7e2

CHANGES.txt
roundup-mailgw
roundup/mailgw.py

index 28c3d969e6acaa042c1d77c7d536e44ca749bd30..2df05e5a6b46e32bd62894267f5d0af1e542088e 100644 (file)
@@ -36,7 +36,7 @@ Fixed:
  . fixed nosy reaction and author copy handling
  . errors in nosy reaction will be propogated now (were effectively being
    squashed)
-
+ . re-open the database as the author in mail handling
 
 2001-10-23 - 0.3.0 pre 3
 Feature:
index e5a0b653616f216e1afb98c322591a1775f9a49c..c4fcc7f05544ba04dc70f18b8025bebab544fe47 100755 (executable)
@@ -16,7 +16,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: roundup-mailgw,v 1.13 2001-11-09 01:05:55 richard Exp $
+# $Id: roundup-mailgw,v 1.14 2001-11-13 21:44:44 richard Exp $
 
 import sys, os, re, cStringIO
 if int(sys.version[0]) < 2:
@@ -140,7 +140,7 @@ def main(args):
 
     # get a mail handler
     db = instance.open('admin')
-    handler = instance.MailGW(db)
+    handler = instance.MailGW(instance, db)
 
     # if there's no more arguments, read a single message from stdin
     if len(args) == 2:
@@ -168,6 +168,10 @@ if __name__ == '__main__':
 
 #
 # $Log: not supported by cvs2svn $
+# Revision 1.13  2001/11/09 01:05:55  richard
+# Fixed bug #479511 ] mailgw to pop once engelbert gruber tested the POP
+# gateway.
+#
 # Revision 1.12  2001/11/08 05:16:55  richard
 # Rolled roundup-popgw into roundup-mailgw. Cleaned mailgw up significantly,
 # tested unix mailbox some more. POP still untested.
index bb025ffe204bdd8accce79099f3166c84cbb0453..fa144f62b7dd71774ee54ad292ed8fbfbdd41af9 100644 (file)
@@ -72,7 +72,7 @@ are calling the create() method to create a new node). If an auditor raises
 an exception, the original message is bounced back to the sender with the
 explanatory message given in the exception. 
 
-$Id: mailgw.py,v 1.32 2001-11-12 22:04:29 richard Exp $
+$Id: mailgw.py,v 1.33 2001-11-13 21:44:44 richard Exp $
 '''
 
 
@@ -114,7 +114,8 @@ subject_re = re.compile(r'(?P<refwd>\s*\W?\s*(fwd|re)\s*\W?\s*)*'
     r'\s*(?P<title>[^\[]+)(\[(?P<args>.+?)\])?', re.I)
 
 class MailGW:
-    def __init__(self, db):
+    def __init__(self, instance, db):
+        self.instance = instance
         self.db = db
 
     def main(self, fp):
@@ -294,6 +295,11 @@ Subject was: "%s"
         # handle the users
         #
         author = self.db.uidFromAddress(message.getaddrlist('from')[0])
+        # reopen the database as the author
+        username = self.db.user.get(author, 'username')
+        self.db.close()
+        self.db = self.instance.open(username)
+        # now update the recipients list
         recipients = []
         tracker_email = self.ISSUE_TRACKER_EMAIL.lower()
         for recipient in message.getaddrlist('to') + message.getaddrlist('cc'):
@@ -515,6 +521,9 @@ def parseContent(content, blank_line=re.compile(r'[\r\n]+\s*[\r\n]+'),
 
 #
 # $Log: not supported by cvs2svn $
+# Revision 1.32  2001/11/12 22:04:29  richard
+# oops, left debug in there
+#
 # Revision 1.31  2001/11/12 22:01:06  richard
 # Fixed issues with nosy reaction and author copies.
 #