Mercurial > p > roundup > code
annotate scripts/roundup-reminder @ 5296:b48e2fe4a7bd
Make tracker user native (postgres) test indexer. This is apparently
how things are expected to be set up on the server. Leaving
it blank pulls in the xapian indexer which they don't want.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 28 Sep 2017 19:22:21 -0400 |
| parents | 838e0e0c5e9f |
| children | c75defc1c2f0 |
| rev | line source |
|---|---|
| 4041 | 1 #! /usr/bin/env python |
|
689
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 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 ''' |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 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
|
24 are currently assigned to them. |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 TODO: introduce some structure ;) |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 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
|
28 ''' |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 |
|
1409
8dc60d87ab42
Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents:
1096
diff
changeset
|
30 import sys, cStringIO, MimeWriter, smtplib |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 from roundup import instance, date |
|
2001
1e96ed79f0c3
fix for new mailer API
Richard Jones <richard@users.sourceforge.net>
parents:
1999
diff
changeset
|
32 from roundup.mailer import SMTPConnection |
|
689
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 # open the instance |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 if len(sys.argv) != 2: |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 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
|
37 instance_home = sys.argv[1] |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 instance = instance.open(instance_home) |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 db = instance.open('admin') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 resolved_id = db.status.lookup('resolved') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
43 def listCompare(x, y): |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
44 "compare two tuples such that order is positive on [0] and negative on [1]" |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
45 if x[0] < y[0]: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
46 return -1 |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
47 if x[0] > y[0]: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
48 return 1 |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
49 if x[1] > y[1]: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
50 return -1 |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
51 if x[1] < y[1]: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
52 return 1 |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
53 return 0 |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
54 |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 # loop through all the users |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 for user_id in db.user.list(): |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 # make sure we care aboue this user |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 name = db.user.get(user_id, 'realname') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 if name is None: |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
60 name = db.user.get(user_id, 'username') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
61 address = db.user.get(user_id, 'address') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
62 if address is None: |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
63 continue |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
64 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 # extract this user's issues |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
66 l = [] |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
67 for issue_id in db.issue.find(assignedto=user_id): |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
68 if db.issue.get(issue_id, 'status') == resolved_id: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
69 continue |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
70 order = db.priority.get(db.issue.get(issue_id, 'priority'), 'order') |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
71 l.append((order, db.issue.get(issue_id, 'activity'), |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
72 db.issue.get(issue_id, 'creation'), issue_id)) |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 # sort the issues by timeliness and creation date |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
75 l.sort(listCompare) |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 if not l: |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 continue |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 # generate the email message |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 message = cStringIO.StringIO() |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 writer = MimeWriter.MimeWriter(message) |
|
1096
fa7df238e2d4
More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents:
1092
diff
changeset
|
82 writer.addheader('Subject', 'Your active %s issues'%db.config.TRACKER_NAME) |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 writer.addheader('To', address) |
|
1096
fa7df238e2d4
More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents:
1092
diff
changeset
|
84 writer.addheader('From', '%s <%s>'%(db.config.TRACKER_NAME, |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 db.config.ADMIN_EMAIL)) |
|
1096
fa7df238e2d4
More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents:
1092
diff
changeset
|
86 writer.addheader('Reply-To', '%s <%s>'%(db.config.TRACKER_NAME, |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
87 db.config.ADMIN_EMAIL)) |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 writer.addheader('MIME-Version', '1.0') |
|
1096
fa7df238e2d4
More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents:
1092
diff
changeset
|
89 writer.addheader('X-Roundup-Name', db.config.TRACKER_NAME) |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 # start the multipart |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 part = writer.startmultipartbody('alternative') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 part = writer.nextpart() |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 body = part.startbody('text/plain') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 # do the plain text bit |
|
3817
ce2c88d83eb6
Fix scripts/roundup-reminder date calculation [SF#1649979]
Richard Jones <richard@users.sourceforge.net>
parents:
2001
diff
changeset
|
97 print >>body, 'Created ID Activity Title' |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 print >>body, '='*75 |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 # '2 months 213 immediate cc_daemon barfage |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
100 old_priority = None |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
101 for priority_order, activity_date, creation_date, issue_id in l: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
102 priority = db.issue.get(issue_id, 'priority') |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
103 if (priority != old_priority): |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
104 old_priority = priority |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
105 print >>body, ' ', db.priority.get(priority,'name') |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 # pretty creation |
|
3817
ce2c88d83eb6
Fix scripts/roundup-reminder date calculation [SF#1649979]
Richard Jones <richard@users.sourceforge.net>
parents:
2001
diff
changeset
|
107 creation = (creation_date - date.Date('.')).pretty() |
|
ce2c88d83eb6
Fix scripts/roundup-reminder date calculation [SF#1649979]
Richard Jones <richard@users.sourceforge.net>
parents:
2001
diff
changeset
|
108 activity = (activity_date - date.Date('.')).pretty() |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
109 title = db.issue.get(issue_id, 'title') |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
110 if len(title) > 42: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
111 title = title[:38] + ' ...' |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
112 print >>body, '%-11s %-4s %-9s %-42s'%(creation, issue_id, |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
113 activity, title) |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
114 |
|
711
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
115 # some help to finish off |
|
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
116 print >>body, ''' |
|
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
117 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
|
118 |
|
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
119 %s |
|
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
120 |
|
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
121 and click on "My Issues". Do NOT respond to this message. |
|
1096
fa7df238e2d4
More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents:
1092
diff
changeset
|
122 '''%db.config.TRACKER_WEB |
|
711
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
123 |
|
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
124 |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
125 # now the HTML one |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
126 part = writer.nextpart() |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
127 body = part.startbody('text/html') |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
128 colours = { |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
129 'immediate': ' bgcolor="#ffcdcd"', |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
130 'day': ' bgcolor="#ffdecd"', |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
131 'week': ' bgcolor="#ffeecd"', |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
132 'month': ' bgcolor="#ffffcd"', |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
133 'whenever': ' bgcolor="#ffffff"', |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
134 } |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
135 print >>body, '''<table border> |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
136 <tr><th>Created</th> <th>ID</th> <th>Activity</th> <th>Title</th></tr> |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
137 ''' |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
138 old_priority = None |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
139 for priority_order, activity_date, creation_date, issue_id in l: |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
140 priority = db.issue.get(issue_id,'priority') |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
141 if (priority != old_priority): |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
142 old_priority = priority |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
143 print >>body, '<tr><td>-></td><td>-></td><td>-></td><td><b>%s</b></td></tr>'%db.priority.get(priority,'name') |
|
4658
838e0e0c5e9f
Incorrect 'Created' value in round-reminder script (issue2550769)
John Kristensen <john@jerrykan.com>
parents:
4041
diff
changeset
|
144 creation = (creation_date - date.Date('.')).pretty() |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
145 title = db.issue.get(issue_id, 'title') |
|
1409
8dc60d87ab42
Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents:
1096
diff
changeset
|
146 issue_id = '<a href="%sissue%s">%s</a>'%(db.config.TRACKER_WEB, |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
147 issue_id, issue_id) |
|
3817
ce2c88d83eb6
Fix scripts/roundup-reminder date calculation [SF#1649979]
Richard Jones <richard@users.sourceforge.net>
parents:
2001
diff
changeset
|
148 activity = (activity_date - date.Date('.')).pretty() |
|
1999
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
149 print >>body, '''<tr><td>%s</td><td>%s</td><td>%s</td> |
|
1b7f730e7037
fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
Richard Jones <richard@users.sourceforge.net>
parents:
1612
diff
changeset
|
150 <td>%s</td></tr>'''%(creation, issue_id, activity, title) |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
151 print >>body, '</table>' |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
152 |
|
711
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
153 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
|
154 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
|
155 this message.</p>''' |
|
9c76498f1ac3
Added simple help to the reminder emailer.
Richard Jones <richard@users.sourceforge.net>
parents:
689
diff
changeset
|
156 |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
157 # finish of the multipart |
|
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
158 writer.lastpart() |
|
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 # all done, send! |
|
2001
1e96ed79f0c3
fix for new mailer API
Richard Jones <richard@users.sourceforge.net>
parents:
1999
diff
changeset
|
161 smtp = SMTPConnection(db.config) |
|
689
456a1ed04650
Here's a cron-job reminder script...
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
162 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
|
163 |
|
1092
e5826025eeb7
more Log removal
Richard Jones <richard@users.sourceforge.net>
parents:
711
diff
changeset
|
164 # vim: set filetype=python ts=4 sw=4 et si |
