annotate scripts/roundup-reminder @ 718:e10c37f53efd

fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope (thanks dman) fixed some sorting issues that were breaking some unit tests under py2.2 mailgw test output dir was confusing the init test (but only on 2.2 *shrug*) fixed bug in the init unit test that meant only the bsddb test ran if it could (it clobbered the anydbm test)
author Richard Jones <richard@users.sourceforge.net>
date Wed, 15 May 2002 03:27:16 +0000
parents 9c76498f1ac3
children e5826025eeb7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
689
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 #! /usr/bin/env python
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # Copyright (c) 2002 ekit.com Inc (http://www.ekit-inc.com/)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 #
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 # Permission is hereby granted, free of charge, to any person obtaining a copy
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 # of this software and associated documentation files (the "Software"), to deal
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 # in the Software without restriction, including without limitation the rights
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 # copies of the Software, and to permit persons to whom the Software is
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # furnished to do so, subject to the following conditions:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 #
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 # The above copyright notice and this permission notice shall be included in
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 # all copies or substantial portions of the Software.
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 #
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 # SOFTWARE.
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21
711
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
22 # $Id: roundup-reminder,v 1.2 2002-05-09 02:52:56 richard Exp $
689
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 '''
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 Simple script that emails all users of a tracker with the issues that
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 are currently assigned to them.
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 TODO: introduce some structure ;)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 TODO: possibly make this more general and configurable...
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 Note: The instance that this script was designed for has a modified schema!
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 You will want to modify this script to customise it for your own schema!
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 '''
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35 import cStringIO, MimeWriter, smtplib
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 from roundup import instance, date
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 # open the instance
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 if len(sys.argv) != 2:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 print 'You need to specify an instance home dir'
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 instance_home = sys.argv[1]
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 instance = instance.open(instance_home)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 db = instance.open('admin')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 resolved_id = db.status.lookup('resolved')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 # loop through all the users
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 for user_id in db.user.list():
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 # make sure we care aboue this user
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 name = db.user.get(user_id, 'realname')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 if name is None:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 name = db.user.get(user_id, 'username')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 address = db.user.get(user_id, 'address')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 if address is None:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55 continue
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 # extract this user's issues
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 l = []
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
59 for issue_id in db.issue.find(assignedto=user_id):
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 if db.issue.get(issue_id, 'status') == resolved_id: continue
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 timeliness_id = db.issue.get(issue_id, 'timeliness')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
62 if timeliness_id:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 timeliness = db.timeliness.get(timeliness_id, 'name')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64 else:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 timeliness = '~~~'
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66 l.append((timeliness, db.issue.get(issue_id, 'creation'), issue_id))
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 # sort the issues by timeliness and creation date
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 l.sort()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 if not l:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 continue
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 # generate the email message
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 message = cStringIO.StringIO()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 writer = MimeWriter.MimeWriter(message)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 writer.addheader('Subject', 'Your active %s issues'%db.config.INSTANCE_NAME)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 writer.addheader('To', address)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78 writer.addheader('From', '%s <%s>'%(db.config.INSTANCE_NAME,
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
79 db.config.ADMIN_EMAIL))
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 writer.addheader('Reply-To', '%s <%s>'%(db.config.INSTANCE_NAME,
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
81 db.config.ADMIN_EMAIL))
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82 writer.addheader('MIME-Version', '1.0')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 writer.addheader('X-Roundup-Name', db.config.INSTANCE_NAME)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85 # start the multipart
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86 part = writer.startmultipartbody('alternative')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
87 part = writer.nextpart()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
88 body = part.startbody('text/plain')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
89
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
90 # do the plain text bit
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 print >>body, 'Created ID Urgency Title'
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
92 print >>body, '='*75
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
93 # '2 months 213 immediate cc_daemon barfage
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
94 for timeliness, creation_date, issue_id in l:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95 # pretty creation
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96 creation = (date.Date('.') - creation_date).pretty()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 if creation is None:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 creation = creation_date.pretty()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
100 if not timeliness: timeliness = ''
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101 title = db.issue.get(issue_id, 'title')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102 if len(title) > 52: title = title[:48] + ' ...'
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 print >>body, '%-11s %-4s %-9s %-52s'%(creation, issue_id,
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104 timeliness, title)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
105
711
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
106 # some help to finish off
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
107 print >>body, '''
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
108 To view or respond to any of the issues listed above, visit the URL
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
109
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
110 %s
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
111
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
112 and click on "My Issues". Do NOT respond to this message.
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
113 '''%db.config.ISSUE_TRACKER_WEB
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
114
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
115
689
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
116 # now the HTML one
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
117 part = writer.nextpart()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
118 body = part.startbody('text/html')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
119 colours = {
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
120 'immediate': ' bgcolor="#ffcdcd"',
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
121 'day': ' bgcolor="#ffdecd"',
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
122 'week': ' bgcolor="#ffeecd"',
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
123 'month': ' bgcolor="#ffffcd"',
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
124 'whenever': ' bgcolor="#ffffff"',
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
125 }
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
126 print >>body, '''<table border>
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
127 <tr><th>Created</th> <th>ID</th> <th>Urgency</th> <th>Title</th></tr>
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
128 '''
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
129 for timeliness, creation_date, issue_id in l:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
130 creation = (date.Date('.') - creation_date).pretty()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
131 if creation is None:
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
132 creation = creation_date.pretty()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133 if not timeliness_id: timeliness_id = ' '
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
134 title = db.issue.get(issue_id, 'title')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
135 issue_id = '<a href="%sissue%s">%s</a>'%(db.config.ISSUE_TRACKER_WEB,
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
136 issue_id, issue_id)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
137 colour = colours.get(timeliness, '')
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
138 print >>body, '''<tr%s><td>%s</td><td>%s</td><td>%s</td>
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139 <td>%s</td></tr>'''%(colour, creation, issue_id, timeliness, title)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
140 print >>body, '</table>'
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
141
711
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
142 print >>body, '''<p>To view or respond to any of the issues listed
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
143 above, simply click on the issue ID. Do <b>not</b> respond to
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
144 this message.</p>'''
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
145
689
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
146 # finish of the multipart
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 writer.lastpart()
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
149 # all done, send!
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
150 smtp = smtplib.SMTP(db.config.MAILHOST)
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
151 smtp.sendmail(db.config.ADMIN_EMAIL, address, message.getvalue())
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
152
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
153 #
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
154 # $Log: not supported by cvs2svn $
711
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
155 # Revision 1.1 2002/04/15 06:37:31 richard
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
156 # Here's a cron-job reminder script that we're going to be using here at
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
157 # ekit. Might be useful for other people. Could use some work making it more
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
158 # general and easier to customise.
689
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
159 #
456a1ed04650 Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
160 #
711
9c76498f1ac3 Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents: 689
diff changeset
161 #

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