annotate roundup-popgw @ 344:7d83d1401ac3

Completely untested pop gateway. It's a start.
author Richard Jones <richard@users.sourceforge.net>
date Thu, 01 Nov 2001 22:07:11 +0000
parents
children 09fbcb96d409
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
344
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 #! /usr/bin/python
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 #
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 # This module is free software, and you may redistribute it and/or modify
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 # under the same terms as Python, so long as this copyright message and
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 # disclaimer are retained in their original form.
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 #
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 # POSSIBILITY OF SUCH DAMAGE.
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 #
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 #
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 # $Id: roundup-popgw,v 1.1 2001-11-01 22:07:11 richard Exp $
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21 import sys
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 if int(sys.version[0]) < 2:
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 print "Roundup requires Python 2.0 or newer."
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 sys.exit(1)
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 # figure the instance home
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 import os
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 if len(sys.argv) > 1:
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 instance_home = sys.argv[1]
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 else:
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 instance_home = os.environ.get('ROUNDUP_INSTANCE', '')
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 if not instance_home:
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 print 'No instance home specified'
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 sys.exit(1)
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 # get the instance
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 import roundup.instance
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 instance = roundup.instance.open(instance_home)
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 # invoke the mail handler
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 db = instance.open('admin')
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 handler = instance.MailGW(db)
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 import getpass, poplib
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 M = poplib.POP3('localhost')
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 M.user(getpass.getuser())
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 M.pass_(getpass.getpass())
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 numMessages = len(M.list()[1])
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 for i in range(numMessages):
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 for j in M.retr(i+1)[1]:
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 s = cStringIO.StringIO('\n'.join(j))
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 s.seek(0)
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 handler.main(s)
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 #
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 # $Log: not supported by cvs2svn $
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 #
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
59 #
7d83d1401ac3 Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 # vim: set filetype=python ts=4 sw=4 et si

Roundup Issue Tracker: http://roundup-tracker.org/