annotate roundup/scripts/roundup_mailgw.py @ 2077:3e0961d6d44d

Added the "actor" property. Metakit backend not done (still not confident I know how it's supposed to work ;) Currently it will come up as NULL in the RDBMS backends for older items. The *dbm backends will look up the journal. I hope to remedy the former before 0.7's release. Fixed a bunch of migration issues in the rdbms backends while I was at it (index changes for key prop changes) and simplified the class table update code for RDBMSes that have "alter table" in their command set (ie. not sqlite) ... migration from "version 1" to "version 2" still hasn't actually been tested yet though.
author Richard Jones <richard@users.sourceforge.net>
date Mon, 15 Mar 2004 05:50:20 +0000
parents fc52d57c6c3e
children 3f89c8ffe4f1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
1 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
2 # This module is free software, and you may redistribute it and/or modify
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
3 # under the same terms as Python, so long as this copyright message and
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
4 # disclaimer are retained in their original form.
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
5 #
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
6 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
7 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
8 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
9 # POSSIBILITY OF SUCH DAMAGE.
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
10 #
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
11 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
12 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
13 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
14 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
15 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
16 #
2005
fc52d57c6c3e documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1606
diff changeset
17 # $Id: roundup_mailgw.py,v 1.11 2004-02-11 23:55:10 richard Exp $
fc52d57c6c3e documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1606
diff changeset
18
fc52d57c6c3e documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1606
diff changeset
19 """Command-line script stub that calls the roundup.mailgw.
fc52d57c6c3e documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1606
diff changeset
20 """
fc52d57c6c3e documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1606
diff changeset
21 __docformat__ = 'restructuredtext'
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
22
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
23 # python version check
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
24 from roundup import version_check
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
25
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
26 import sys, os, re, cStringIO, getopt
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
27
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
28 from roundup.mailgw import Message
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
29 from roundup.i18n import _
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
30
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
31 def usage(args, message=None):
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
32 if message is not None:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
33 print message
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
34 print _('Usage: %(program)s [[-C class] -S field=value]* <instance '
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
35 'home> [method]')%{'program': args[0]}
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
36 print _('''
1107
1c1ccfc9673d reorganised mailgw code
Richard Jones <richard@users.sourceforge.net>
parents: 1092
diff changeset
37
1c1ccfc9673d reorganised mailgw code
Richard Jones <richard@users.sourceforge.net>
parents: 1092
diff changeset
38 The roundup mail gateway may be called in one of three ways:
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
39 . with an instance home as the only argument,
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
40 . with both an instance home and a mail spool file, or
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
41 . with both an instance home and a pop server account.
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
42
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
43 It also supports optional -C and -S arguments that allows you to set a
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
44 fields for a class created by the roundup-mailgw. The default class if
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
45 not specified is msg, but the other classes: issue, file, user can
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
46 also be used. The -S or --set options uses the same
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
47 property=value[;property=value] notation accepted by the command line
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
48 roundup command or the commands that can be given on the Subject line
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
49 of an email message.
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
50
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
51 It can let you set the type of the message on a per email address basis.
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
52
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
53 PIPE:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
54 In the first case, the mail gateway reads a single message from the
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
55 standard input and submits the message to the roundup.mailgw module.
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
56
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
57 UNIX mailbox:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
58 In the second case, the gateway reads all messages from the mail spool
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
59 file and submits each in turn to the roundup.mailgw module. The file is
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
60 emptied once all messages have been successfully handled. The file is
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
61 specified as:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
62 mailbox /path/to/mailbox
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
63
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
64 POP:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
65 In the third case, the gateway reads all messages from the POP server
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
66 specified and submits each in turn to the roundup.mailgw module. The
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
67 server is specified as:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
68 pop username:password@server
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
69 The username and password may be omitted:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
70 pop username@server
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
71 pop server
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
72 are both valid. The username and/or password will be prompted for if
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
73 not supplied on the command-line.
1547
f478c236b1f6 roundup mailgw now handles apop
Richard Jones <richard@users.sourceforge.net>
parents: 1359
diff changeset
74
f478c236b1f6 roundup mailgw now handles apop
Richard Jones <richard@users.sourceforge.net>
parents: 1359
diff changeset
75 APOP:
1548
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
76 Same as POP, but using Authenticated POP:
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
77 apop username:password@server
1547
f478c236b1f6 roundup mailgw now handles apop
Richard Jones <richard@users.sourceforge.net>
parents: 1359
diff changeset
78
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
79 ''')
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
80 return 1
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
81
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
82 def main(argv):
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
83 '''Handle the arguments to the program and initialise environment.
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
84 '''
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
85 # take the argv array and parse it leaving the non-option
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
86 # arguments in the args array.
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
87 try:
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
88 optionsList, args = getopt.getopt(argv[1:], 'C:S:', ['set=', 'class='])
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
89 except getopt.GetoptError:
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
90 # print help information and exit:
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
91 usage(argv)
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
92 sys.exit(2)
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
93
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
94 # figure the instance home
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
95 if len(args) > 0:
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
96 instance_home = args[0]
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
97 else:
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
98 instance_home = os.environ.get('ROUNDUP_INSTANCE', '')
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
99 if not instance_home:
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
100 return usage(argv)
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
101
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
102 # get the instance
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
103 import roundup.instance
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
104 instance = roundup.instance.open(instance_home)
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
105
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
106 # get a mail handler
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
107 db = instance.open('admin')
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
108
1133
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
109 # now wrap in try/finally so we always close the database
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
110 try:
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
111 handler = instance.MailGW(instance, db, optionsList)
1133
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
112
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
113 # if there's no more arguments, read a single message from stdin
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
114 if len(args) == 1:
1133
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
115 return handler.do_pipe()
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
116
1133
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
117 # otherwise, figure what sort of mail source to handle
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
118 if len(args) < 3:
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
119 return usage(argv, _('Error: not enough source specification information'))
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
120 source, specification = args[1:]
1133
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
121 if source == 'mailbox':
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
122 return handler.do_mailbox(specification)
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
123 elif source == 'pop':
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
124 m = re.match(r'((?P<user>[^:]+)(:(?P<pass>.+))?@)?(?P<server>.+)',
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
125 specification)
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
126 if m:
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
127 return handler.do_pop(m.group('server'), m.group('user'),
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
128 m.group('pass'))
1359
ebfd8dd1cce7 missed this part of the patch, added doc
Richard Jones <richard@users.sourceforge.net>
parents: 1133
diff changeset
129 return usage(argv, _('Error: pop specification not valid'))
1548
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
130 elif source == 'apop':
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
131 m = re.match(r'((?P<user>[^:]+)(:(?P<pass>.+))?@)?(?P<server>.+)',
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
132 specification)
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
133 if m:
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
134 return handler.do_apop(m.group('server'), m.group('user'),
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
135 m.group('pass'))
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
136 return usage(argv, _('Error: apop specification not valid'))
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
137
1548
c36df13925f9 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1547
diff changeset
138 return usage(argv, _('Error: The source must be either "mailbox", "pop" or "apop"'))
1133
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
139 finally:
36ec30d286ea Cleaned up CHANGES/TODO
Richard Jones <richard@users.sourceforge.net>
parents: 1107
diff changeset
140 db.close()
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
141
593
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 592
diff changeset
142 def run():
1606
8b0bd0b897e6 added socket timeout to attempt to prevent stuck processes [SF#665487]
Richard Jones <richard@users.sourceforge.net>
parents: 1548
diff changeset
143 # time out after a minute if we can
8b0bd0b897e6 added socket timeout to attempt to prevent stuck processes [SF#665487]
Richard Jones <richard@users.sourceforge.net>
parents: 1548
diff changeset
144 import socket
8b0bd0b897e6 added socket timeout to attempt to prevent stuck processes [SF#665487]
Richard Jones <richard@users.sourceforge.net>
parents: 1548
diff changeset
145 if hasattr(socket, 'setdefaulttimeout'):
8b0bd0b897e6 added socket timeout to attempt to prevent stuck processes [SF#665487]
Richard Jones <richard@users.sourceforge.net>
parents: 1548
diff changeset
146 socket.setdefaulttimeout(60)
593
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 592
diff changeset
147 sys.exit(main(sys.argv))
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 592
diff changeset
148
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
149 # call main
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
150 if __name__ == '__main__':
593
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 592
diff changeset
151 run()
592
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
152
326388b8604a Moved scripts from top-level dir to roundup.scripts subpackage
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
diff changeset
153 # vim: set filetype=python ts=4 sw=4 et si

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