Mercurial > p > roundup > code
annotate roundup-popgw @ 359:3903aaaef4e1
Added samples for "external" CGI config
| author | Jürgen Hermann <jhermann@users.sourceforge.net> |
|---|---|
| date | Tue, 06 Nov 2001 22:22:20 +0000 |
| parents | 8ddc718c97b8 |
| children |
| 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 # |
| 346 | 19 # $Id: roundup-popgw,v 1.3 2001-11-01 22:20:39 richard Exp $ |
|
344
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 |
| 346 | 45 from rfc822 import Message |
|
344
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 M = poplib.POP3('localhost') |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 M.user(getpass.getuser()) |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 M.pass_(getpass.getpass()) |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 numMessages = len(M.list()[1]) |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 for i in range(numMessages): |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 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
|
53 s = cStringIO.StringIO('\n'.join(j)) |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 s.seek(0) |
|
345
09fbcb96d409
make popgw use the Message interface
Richard Jones <richard@users.sourceforge.net>
parents:
344
diff
changeset
|
55 handler.handle_Message(Message(s)) |
|
344
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 # |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 # $Log: not supported by cvs2svn $ |
| 346 | 59 # Revision 1.2 2001/11/01 22:09:36 richard |
| 60 # make popgw use the Message interface | |
| 61 # | |
|
345
09fbcb96d409
make popgw use the Message interface
Richard Jones <richard@users.sourceforge.net>
parents:
344
diff
changeset
|
62 # Revision 1.1 2001/11/01 22:07:11 richard |
|
09fbcb96d409
make popgw use the Message interface
Richard Jones <richard@users.sourceforge.net>
parents:
344
diff
changeset
|
63 # Completely untested pop gateway. It's a start. |
|
09fbcb96d409
make popgw use the Message interface
Richard Jones <richard@users.sourceforge.net>
parents:
344
diff
changeset
|
64 # |
|
344
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 # |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
66 # |
|
7d83d1401ac3
Completely untested pop gateway. It's a start.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
67 # vim: set filetype=python ts=4 sw=4 et si |
