Code

Completely untested pop gateway. It's a start.
authorrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Thu, 1 Nov 2001 22:07:11 +0000 (22:07 +0000)
committerrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Thu, 1 Nov 2001 22:07:11 +0000 (22:07 +0000)
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@355 57a73879-2fb5-44c3-a270-3262357dd7e2

roundup-popgw [new file with mode: 0644]

diff --git a/roundup-popgw b/roundup-popgw
new file mode 100644 (file)
index 0000000..4cf6901
--- /dev/null
@@ -0,0 +1,60 @@
+#! /usr/bin/python
+#
+# Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
+# This module is free software, and you may redistribute it and/or modify
+# under the same terms as Python, so long as this copyright message and
+# disclaimer are retained in their original form.
+#
+# IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
+# DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
+# OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
+# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
+# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+# 
+# $Id: roundup-popgw,v 1.1 2001-11-01 22:07:11 richard Exp $
+
+import sys
+if int(sys.version[0]) < 2:
+    print "Roundup requires Python 2.0 or newer."
+    sys.exit(1)
+
+# figure the instance home
+import os
+if len(sys.argv) > 1:
+    instance_home = sys.argv[1]
+else:
+    instance_home = os.environ.get('ROUNDUP_INSTANCE', '')
+if not instance_home:
+    print 'No instance home specified'
+    sys.exit(1)
+
+# get the instance
+import roundup.instance
+instance = roundup.instance.open(instance_home)
+
+# invoke the mail handler
+db = instance.open('admin')
+handler = instance.MailGW(db)
+
+import getpass, poplib
+
+M = poplib.POP3('localhost')
+M.user(getpass.getuser())
+M.pass_(getpass.getpass())
+numMessages = len(M.list()[1])
+for i in range(numMessages):
+    for j in M.retr(i+1)[1]:
+        s = cStringIO.StringIO('\n'.join(j))
+        s.seek(0)
+        handler.main(s)
+
+#
+# $Log: not supported by cvs2svn $
+#
+#
+# vim: set filetype=python ts=4 sw=4 et si