annotate website/issues/detectors/newissuecopy.py @ 5650:e8ca7072c629

Fix Python 3 issues in REST code. * Need to use .get not .getheader for HTTP headers (see hg commit fec18298ae02, "Python 3 preparation: HTTP headers handling in roundup_server.py."). * Need to use key not cmp with sort (see hg commit 3fa026621f69, "Python 3 preparation: comparisons."). * dispatch output must be bytes, not str, otherwise writing it to the socket (e.g. in roundup-server) will fail. This fixes issues shown up attempting to access the REST interface with a browser with Python 3 (as opposed to with the Roundup testsuite, which also has known REST issues with Python 3).
author Joseph Myers <jsm@polyomino.org.uk>
date Sun, 17 Mar 2019 16:25:36 +0000
parents 35ea9b1efc14
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4354
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 from roundup import roundupdb
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 def newissuecopy(db, cl, nodeid, oldvalues):
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 ''' Copy a message about new issues to a team address.
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 '''
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 # so use all the messages in the create
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 change_note = cl.generateCreateNote(nodeid)
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # send a copy to the nosy list
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 for msgid in cl.get(nodeid, 'messages'):
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 try:
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 # note: last arg must be a list
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 cl.send_message(nodeid, msgid, change_note,
5277
b580f61929e2 Removing richard from notification list. Verified that
John Rouillard <rouilj@ieee.org>
parents: 5248
diff changeset
14 ['roundup-devel@lists.sourceforge.net'])
5248
198b6e810c67 Use Python-3-compatible 'as' syntax for except statements
Eric S. Raymond <esr@thyrsus.com>
parents: 4376
diff changeset
15 except roundupdb.MessageSendError as message:
5378
35ea9b1efc14 Python 3 preparation: "raise" syntax.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5277
diff changeset
16 raise roundupdb.DetectorError(message)
4354
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 def init(db):
81a9eda2a798 I need to know when new issues are created
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 db.issue.react('create', newissuecopy)
5277
b580f61929e2 Removing richard from notification list. Verified that
John Rouillard <rouilj@ieee.org>
parents: 5248
diff changeset
20 #SHA: 6ed003c947e1f9df148f8f4500b7c2e68a45229b

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