Mercurial > p > roundup > code
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 |
| 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 |
