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