annotate detectors/newissuecopy.py @ 834:568eed5fb4fd

Optimize Class.find so that the propspec can contain a set of ids to match. This is used by indexer.search so it can do just one find for all the index matches. This was already confusing code, but for common terms (lots of index matches), it is enormously faster.
author Gordon B. McMillan <gmcm@users.sourceforge.net>
date Tue, 09 Jul 2002 21:53:38 +0000
parents de6dc74a4148
children e5826025eeb7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 # copied from nosyreaction
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 from roundup import roundupdb
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 def newissuecopy(db, cl, nodeid, oldvalues):
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 ''' Copy a message about new issues to a team address.
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 '''
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 # so use all the messages in the create
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 change_note = cl.generateCreateNote(nodeid)
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 # send a copy to the nosy list
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 for msgid in cl.get(nodeid, 'messages'):
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 try:
685
de6dc74a4148 make it work
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
14 # note: last arg must be a list
de6dc74a4148 make it work
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
15 cl.send_message(nodeid, msgid, change_note, ['team@team.host'])
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 except roundupdb.MessageSendError, message:
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 raise roundupdb.DetectorError, message
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 def init(db):
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 db.issue.react('create', newissuecopy)
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21

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